【正确答案】正确答案:int i,a[4],t; a[0]=n%10 ; //取整型n的第一位数字a[1]=n%100/1 0; //取整型n的第2位数字a[2]=n%1000/100; //取整型n的第3位数字a[3]=n/1000; //取整型n的第4位数字for(i:0;i<=3;i++) //每位数字加3,取余 { a[i]+=3; a[i]%=9; } t=a[0]; //根据加密算法交换 a[0]=a[3]; a[3]=t ; t=a[1]; a[1]=a[2]; a[2]=t; return a[3]*1000+a[2]*100+a[1]* 10+a[0]; //重组,返回加密数字
【答案解析】解析:(1)该程序功能是实现对一个整数的加密,具体的加密方法是:一个四位长的整数,每位数字加上3然后除以9的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换,然后返回得到的。 (2)从已给部分源程序的main主函数开始入手,核心函数int fun(int n)中的n参数为输入要加密的整数。