题目标题:对四位数加密
输入1个四位数,将其加密后输出。
方法是将该数每一位上的数字加9,然后除以10取余,做为该位上的新数字
最后将第1位和第3位上的数字互换,第2位和第4位上的数字互换,组成加密后的新数。例:括号内是说明输入1257输出
The encrypted number is 4601(每一位上的数字加9除以10取余后,得0146,交换后得到4601)
#include<stdio.h>
int main()
{
int a;
int q[4],p[4];
scanf("%d",&d);
for(a=0;a<4;a++)
{
q[3-a]=d%10;
d = d/10;
q[3-a] =(q[3-a]+9)%10;
}
printf("%d%d%d%d\n",q[0],q[1],q[2],q[3]);
p[0]=q[2];
p[1]=q[3];
p[2]=q[0];
p[3]=q[1];
printf("%d%d%d%d\n",p[0],p[1],p[2],p[3]);
return 0;
}
也可以之接输出printf("%d%d%d%d\n",q[2],q[3],q[0],q[1]);
int newnum(int x)
{ return (x+9)%10;}
main()
{
int num,n1,n2,n3,n4;
printf("please enter a number:");
scanf("%d",&num);
if(num>999 && num<10000)
{ n1=num/1000;
n2=(num-n11000)/100;
n3=(num%100/10);
n4=num%10;
printf("%d\n",newnum(n1)1000+newnum(n2)*100+newnum(n3)*10+newnum(n4));
}
else print("error number");
}