题目描述
输入一个四位数,将其加密后输出。加密的规则如下:将该数每一位上的数字加9,然后除以10取余作为该位上的新数字,最后将千位和十位上的数字互换、百位和个位上的数字互换,组成加密后的新数字。高位若为0的也要输出。
输入要求
输入一个四位数。(保证输入的是有效的四位数)
输出要求
输出加密后的新数
输入样例
1238
输出样例
2701
#include <stdio.h>
int main()
{
int x,i;
int a[4];
scanf("%d", &x);
for (i = 0; i < 4; i++)
{
a[i] = x % 10;
x = x / 10;
} //把每位数取出来//
for (i = 0; i < 4; i++)
{
a[i] = (a[i] + 9) % 10;
}//对每位数进行操作//
int t, p;
t = a[1];
a[1] = a[3];
a[3] = t;
p = a[0];
a[0] = a[2];
a[2] = p;//对特定位置进行置换//
x=a[3]*1000+a[2]*100+a[1]*10+a[0];//把改造后的数整合成一个四位数//
if(a[3]==0)
{
printf("0%d\n",x); //如果前导为0,我们就先发制人,直接先输出个0//
}
else
{
printf("%d\n", x);
}
return 0;
}