求c语大师为我解答这题如何解决,如何写代码。以附
上图,感谢大师指点。
数据:4位整数,加密规则:
每位数字都加上5(需要一个变量存储每位数字temp=shuju[i]);
然后用和/10的余数代替该数字temp=(temp+5)%10;
再把第一和第四交换,第2和第3位交换,就是4321。
#include "stdio.h"
void jm(int b[])
{
int i,j,t;
for(i=0;i<4;i++)
b[i]=(b[i]+5)%10;
for(i=0,j=3;i<j;i++,j--)
{
t=b[i];
b[i]=b[j];
b[j]=t;
}
}
main()
{
int a[4],i;
for(i=0;i<4;i++)
scanf("%d",&a[i]);
jm(a);
for(i=0;i<4;i++)
printf("%d",a[i]);
}
//呵
函数jm是加密算法,按照要求写下加密方式即可;即 x = (x+5)%10; 然后是交换,先保存的是b[i]的值,所以此处就要先给b[i]赋值,b[i]=b[j]。
最后在main函数中的空行是调用加密函数,因为没有返回值所以直接调用jm(),参数是a数组;
所以结果依次是b[i] = (b[i]+5)%10; b[i] =b[j]; jm(a);