使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数fun(intn)的功能是实现对一个整数的加密,具体的加密方法是:一个四位长的整数,每位数字加上3然后除以9的余数代替该数字,再将第一位和第四位交换,第

admin2015-05-30  35

问题 使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数fun(intn)的功能是实现对一个整数的加密,具体的加密方法是:一个四位长的整数,每位数字加上3然后除以9的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换,然后返回得到的密码。
    程序输出:  
    7654
    2108
    注意:不能修改其他部分的代码。
    1    #include
    2    #include
    3    int fun(int n)
    4    {
    5
    6  }
    7    int main()
    8  {
    9    int i=12 34 ;
    10    cout<    11    i=5 6 7 8;
    12    cout<    13    return 0 ;
    14    }

选项

答案1 int i,a[4],七; 2 a[0]=n%10; //取整型n的第一位数字 3 a[1]=n%10 0/10 ; //取整型n的第2位数字 4 a[2]=n%1000/100; //取整型n的第3位数字 5 a[3]=n/1000; //取整型n的第4位数字 6 for(i=0;i<=3;i++) //每位数字加3,取余 7 { 8 a[i]+=3 ; 9 a[i]%=9; 10 } 11 t=a[0]; //根据加密算法交换 12 a[0]=a[3]; 13 a[3]=t ; 14 t=a[1]; 15 a[1]=a[2]; 16 a[2]=t; 17 return a[3]*1000+a[2]*100+a[1]* 10+a[0]; //重组,返回加密数字

解析 (1)该程序功能是实现对一个整数的加密,具体的加密方法是:一个四位长的整数,每位数字加上3然后除以9的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换,然后返回得到的。
    (2)从已给部分源程序的main主函数开始入手,核心函数int fun(int n)中的n参数为输入要加密的整数。
    [解题思路]
    (1)首先取得要加密整数的每一位数字,并存入数组。
    (2)根据加密算法,首先利用循环实现每位数字加3,除以9取余。
    (3)然后根据加密算法进行数字交换,最后重组,返回密码。
转载请注明原文地址:https://kaotiyun.com/show/0PNp777K
0

最新回复(0)