为什么会运行错误?
题目描述某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
输入
4位整数
输出
加密后的4位整数
样例输入
7258
样例输出
3072
这是我写的程序,试了好几个答案都是对的但提交的时候说运行错误,帮忙看看哪里有问题。注:不要答案,求解释,不要说我的问题不清楚,我也是被逼无奈的,这是原题。谢谢啦!
#include<stdio.h>
#include<string.h>
#define N 4
int main()
{
char a[N],b[N],e;
int i;
gets(a);
for(i=0;i<N;i++)
a[i]=a[i]+5;
for(i=0;i<N;i++)
b[i]=(a[i]-48)%10;
for(i=0;i<2;i++)
{
e=b[i];
b[i]=b[N-1-i];
b[N-1-i]=e;
}
for(i=0;i<N;i++)
printf("%d",b[i]);
}