精华内容
下载资源
问答
  • 交换函数中定义一个临时变量tmp用于数字a,b数字交换的中间介质。用调试方式查看失败原因。在调试时用监视查看主函数中a和b的初始地址,如下图。进入交换函数后交换函数的a和b的地址,如下图、调用交换函数后主...

    题目:a=10;b=20;交换a,b的值

    错误示范一、用一个临时变量保存其中一个变量值。在交换函数中定义一个临时变量tmp用于数字a,b数字交换的中间介质。


    用调试方式查看失败原因。在调试时用监视查看主函数中a和b的初始地址,如下图。


    进入交换函数后交换函数的a和b的地址,如下图


    调用交换函数后主函数中打印函数内a和b的地址,如下图


    由此可知a和b没有成功交换是因为,主函数中变量a,b,并没有由于调用交换函数发生任何改变。

    错误示范二、在错误一的启示下,我们将形参换位指针变量,给交换函数传地址。在交换函数中定义一个指针变量用于p1,p2交换的中间介质。


    由运行结果可知,交换失败。

    在调试时用监视查看主函数中a和b的初始地址,如下图


    进入交换函数后交换函数的指针变量p1和p2保存的地址,如下图

    由图可知将a,b地址成功传入交换函数


    交换函数执行过后p1、p2保存地址,如下图。由图可知,tmp指针变量使p1、p2实现了地址交换。


    主函数中a,b地址却没有发生任何改变,如下图,由此可知,交换后地址并没有传回主函数,a和b地址和数据没有发生任何改变,所以a和b交换失败。


    错误示范三:由错误示范二可知,单纯交换地址并不能实现修改数据。想要实现数据的修改要用到指针中的解引用。定义一个tmp整型指针变量,对其解引用,来作为变量p1,p2解引用后交换数据的中间介质。如下图。编译器显示程序崩溃。崩溃的原因是由于对未初始化的指针进行了解引用操作。(未初始化的指针称为野指针或悬挂指针,它没有固定的访问地址,因此解引用没有值,无法执行本操作。)


    正确交换程序:



    展开全文
  • 笔试:某硕公司中有一道题,两...对该四位数的每一位都加5,并用和对10取余代替该数字,在将第一位与第四位交换,第二位与第三位交换,得到一个加密数 代码实现如下: public static int secret(int x) { in...
    • 笔试:某硕公司中有一道题,两次笔试都出现了,第一次没能搞懂其中一个条件,第二次做了一半,跟个二傻子一样。。

    题目如下:

    实现对一个四位整数的加密过程,并打印加密数;

    • 加密要求如下:
      对该四位数的每一位都加5,并用和对10取余代替该数字,在将第一位与第四位交换,第二位与第三位交换,得到一个加密数

    代码实现如下:

    public static int secret(int x) {
    		//得到千位上的数字,加5,对10取余得到a
    		int a = (x / 1000 + 5) % 10;
    		int b = (x % 1000 / 100 + 5) % 10;
    		int c = (x % 1000 % 100 / 10 + 5) % 10;
    		int d = (x % 10 + 5) % 10;
    		//返回一个交换了第一位和第四位,第二位和第三位的加密数字
    		return (a + 10 * b + 100 * c + d * 1000);
    
    	}
    
    展开全文
  • 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 示例1 输入 [3,32,321] 返回值 “321323...

    题目描述
    输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。

    示例1
    输入

    [3,32,321]
    返回值

    “321323”

    解题思路:
    先将数字i1和数字i2拼接在一起;然后将数字i2拼接在数字i1的前面,比较得到的两个数字哪个大;如果前者得到的数字大,那就交换i1和i2的所在位置;
    重复这个操作,然后将数组的数字按顺序拼接起来就是答案;

    代码展示

    import java.util.ArrayList;
    
    public class Solution {
        public String PrintMinNumber(int [] numbers) {
            for(int i=0;i<numbers.length;i++){
                for(int j=i+1;j<numbers.length;j++){
                    int one=Integer.valueOf(numbers[i]+""+numbers[j]);
                
                    int two=Integer.valueOf(numbers[j]+""+numbers[i]);
                    if(one>two){
                        int tem=numbers[i];
                        numbers[i]=numbers[j];
                        numbers[j]=tem;
                    }
                }
                
            }
            String str="";
            for(int i:numbers){
                str+=i;
            }
    
            return str;
        }
    }
    
    展开全文
  • 交换函数中定义一个临时变量tmp用于数字a,b数字交换的中间介质SHAPE \* MERGEFORMAT ​ 用调试方式查看失败原因。在调试时用监视查看主函数中a和b的初始地址,如下图。 ​ 进入交换函数后交换函数的a和b的...

    错误示范一、用一个临时变量保存其中一个变量值。在交换函数中定义一个临时变量tmp用于数字a,b数字交换的中间介质https://img-blog.csdn.net/20180530232121388?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RpYW5naGFuZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70 SHAPE  \* MERGEFORMAT ​

    用调试方式查看失败原因。在调试时用监视查看主函数中a和b的初始地址,如下图。

     

    https://img-blog.csdn.net/201805302326470?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RpYW5naGFuZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70

    进入交换函数后交换函数的a和b的地址,如下图

     

    https://img-blog.csdn.net/20180530233006512?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RpYW5naGFuZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70 ​、

    调用交换函数后主函数中打印函数内a和b的地址,如下图

    https://img-blog.csdn.net/20180530233606625?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RpYW5naGFuZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70

    由此可知a和b没有成功交换是因为,主函数中变量a,b,并没有由于调用交换函数发生任何改变。

    错误示范二、在错误一的启示下,我们将形参换位指针变量,给交换函数传地址。在交换函数中定义一个指针变量用于p1,p2交换的中间介质。

    https://img-blog.csdn.net/20180530234447961?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RpYW5naGFuZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70

    由运行结果可知,交换失败。

    在调试时用监视查看主函数中a和b的初始地址,如下图

     

    https://img-blog.csdn.net/20180530235023834?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RpYW5naGFuZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70

    进入交换函数后交换函数的指针变量p1和p2保存的地址,如下图

    由图可知将a,b地址成功传入交换函数

     

    https://img-blog.csdn.net/20180530235505744?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RpYW5naGFuZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70

    交换函数执行过后p1、p2保存地址,如下图。由图可知,tmp指针变量使p1、p2实现了地址交换。

     

    https://img-blog.csdn.net/20180531000915820?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RpYW5naGFuZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70

    主函数中a,b地址却没有发生任何改变,如下图,由此可知,交换后地址并没有传回主函数,a和b地址和数据没有发生任何改变,所以a和b交换失败。

     

    https://img-blog.csdn.net/20180531001213389?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RpYW5naGFuZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70

    错误示范三:由错误示范二可知,单纯交换地址并不能实现修改数据。想要实现数据的修改要用到指针中的解引用。定义一个tmp整型指针变量,对其解引用,来作为变量p1,p2解引用后交换数据的中间介质。如下图。编译器显示程序崩溃。崩溃的原因是由于对未初始化的指针进行了解引用操作。(未初始化的指针称为野指针或悬挂指针,它没有固定的访问地址,因此解引用没有值,无法执行本操作。)

     

    https://img-blog.csdn.net/20180531002955633?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RpYW5naGFuZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70

    正确交换程序:

     

    展开全文
  • 1.实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定, 输入9,输出9 * 9口诀表,输入12,输出12 * 12的乘法口诀表。 #include<stdio.h> int multi(int n) { int i, j; for (i = 1; i <= n; i++...
  • 原标题:Python实现100以内十位数数字比...# -*- coding:utf-8 -*-'''Created on:2017-07-17 10:46:17@author: geeklp'''#对100以内的两位数,请使用一个两重循环打印出所有十位数数字比个位数数字小的数,例如,23(...
  • 今天记录一下我愚蠢的脑回路…emmmm…以前写过一个类似的简单题,就是pta上面的猜猜这个数是什么…当时就搞不清…我以为逆序打印的话,就是交换前面和后面的数字…这个错误思想一直伴随了我n个月,今天发现它其实是...
  • 即将数组[12,14,11,9]中的四个整数全排列拼接成一个个新的数值,最后输出最大的那个数值 思路: 1、因为要的是最大值,所以使用冒泡排序将数组元素按照大到小的顺序进行排列, 比较交换时需要先“将当前这两个元素...
  • 上动画给 "6 5 4 3 2 1" 6个数字增序排序的流程大体过程:我们把串待排序的数字分为已排序、和待排序的两类(当然,初始状态全都是待排序的)。然后每趟将待排序中的最小值和待排序中第1个元素交换,此时待排序中...
  • 1、 某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是...要求输入一个四位整数,打印出加密后的结果。 import java.util.Scanner;public class java3_1 { public static void main(String[] ...
  • 用int会越界的,所以先转成str数字拼接满足结合律,所以只需要保证每两数拼版接后更小就行了,即权ij?ji。因此,可以使用冒泡排序,但是比较的条件变成'i'+'j' > 'j' + 'i',如果满足就交换。输出用print(''....
  • 输入一个4位数 将每个数字加7后模10然后将第一位数与第三位交换,2与4交换打印加密后的数字 
  • 新建一个临时变量 数据类型 数据类型由值决定 数据类型可以直接变换 var num = 10; num = ‘邓柱’; 数字进制 八进制数字前面家0:var num =010; 十六进制数字前面加0x:var num = 0x10; isNaN() isNaN(12):判断12...
  • 1. 某公司采用公用电话传递数据,数据是4位整数,在传递过程中是加密的,加密规则如下:每位上的数字加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换,编写一个程序,用于接受...
  • 学习不易,不要坚持 将数组A中的内容和数组B中的内容进行交换。...//解题思路:定义一个新的临时变量temp,将两个数组的每个值借助临时变量来交换。打印时可以写个打印函数,这样会使主函数的条理更清晰。 #i...
  • 一个数据下降,附图然后各加5,和除以10的余数取代该数字, 最后将第一位和最后一位数字交换。 请随意给定一个小于8位的整数, 然后,把加密后的结果在控制台打印出来。 题目要求: ...
  • import java.util.Scanner; public class Zuoye1 { /** * 21、某个公司采用公用电话传递数据, 数据是四位的整数,在传递过程... 编写一个程序,用于接收一个四位的整数, 并且打印输出加密后的数。 * ...
  • 全排列就是从第一个数字起每个数分别与它后面的数字交换。 #include <stdio.h> void permutation(int arr[], int p, int max_key);/*全排列递归函数*/ void creatArray(int array[], int n);/*...
  • 交换变量代码如下: // 第种方法,通过中间变量 var num1 = 1, num2 = 2; var tmp; tmp = num1; num1 = num2; num2 = tmp; console.log( num1, num2); // 控制台打印结果:2 1 // 第二种方法,通过计算 var ...
  • 在此例中,赋值操作符“=”号的右侧的两个数字会被存入到一个元组中,即变成 (1,2),然后再被解包,依次赋值给“=”号左侧的两个变量。 如果我们直接写x = 1,2,然后打印出 x,或者在“=”号右侧..
  • 直接用异或运算符来进行计算,相同的数字异或为0,0异或任何数都等于任何数,且异或的位置可以进行交换而不影响结果; 异或运算的作用  参与运算的两值,如果两相应bit位相同,则结果为0,否则为1。  即:...
  • 1.实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定, 输入9,输出99口诀表,输入12,输出1212的乘法口诀表。 //1*1=1 //2*1=2 2*2=4 //3*1=3 3*2=6 3*3=9 //... void test(int x, int k) { for (x = 1...
  • 定义一个函数,将输入的参数拆成列表元素,通过sort()逆序排列后再输出。如:输入3245,输出5432 2.解题思路 法一: 自定义函数sort_num(),分别用n1和n2代表前后两个数,再打印出交换位置后的n2数字,最后调用sort_...
  • 问题1 实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定,如:输入9,输出9*9口诀表,输入12,输出12*12的乘法口诀表。 代码实现如下: #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #...
  • 某个公司采用公用电话传递数据信息,数据是小于8位的整数,为了确保安全,  在传递过程中需要加密,加密规则如下:... 请任意给定一个小于8位的整数,  然后,把加密后的结果在控制台打印出来。    题目要求:
  • 数字的全排列

    2016-04-13 16:40:12
    题目: 输入一个字符串,打印出该字符串中字符的所有全排列》...子问题:第一个数字与后面每一个数字进行交换 结束条件:遍历到最后一个字符,后面再也无法进行交换 代码如下: void FullPermutation(char arr[], int
  • 数字加密

    2018-04-09 10:36:14
    数字加密要求:某个公司采用公用... 请任意给定一个小于8位的整数,然后,把加密后的结果在控制台打印出来。复杂化代码:/* 某个公司采用公用电话传递数据信息,数据是小于8位的整数,为了确保安全, 在传递过程中...
  • Next Permutation 问题简介:给定一个数组,...解释:可以倒序看给定数组,在数字3处遇见更小的数值2时,从数组末尾处向前找一个比2大的数字,即3,交换个数字,这时数组为[1,3,4,2,0],然后在交换后的数字2处往后进...
  • 输入格式: ...输入在第一行中给出一个正整数N(1≤n≤10),第二行给出N个整数,数字间以空格分隔。 输出格式: 在一行中顺序输出交换后的序列,每个整数后跟一个空格。</p>

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 485
精华内容 194
关键字:

交换打一个数字