新手,求大佬帮帮忙
【问题描述】2.2.8 输入一个四位正整数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10 取余,作为该位上的新数字,最后将千位和十位上的数字互换,百位和个位上的数字互换,组成加密后的新四位数。【样例输入输出1】 (括号内为说明文字)
Enter a number:1257
The encrypted number is 4601(每一位上的数字加9 除以10 取余后得0146,交换后得到4601)
【样例输入输出2】 (括号内为说明文字)
Enter a number:8012
The encrypted number is 0179(每一位上的数字加9 除以10 取余后得7901,交换后得到0179)
#include<stdio.h>
void main()
{
int b[4],t,i;
char a[4];
printf("Enter a number:");
gets(a);
for(i=0;i<4;i++)
b[i]=(a[i]-'0'+9)%10;
for(i=0;i<2;i++)
{
t=b[i];
b[i]=b[i+2];
b[i+2]=t;
}
t=b[0]*1000+b[1]*100+b[2]*10+b[3];
printf("The encrypted number is %d",t);
}
帮忙看看为什么输出不了0179
[此贴子已经被作者于2018-10-28 14:12编辑过]