输入4个数,按照程序输入输出,无编译错误,逻辑问题出错,要是能帮忙指出程序需要改进的地方就更好了
#include<stdio.h>/*要求:定义函数encrypt加密,定义函数decrypt解密
输入多组四位数,将其加密或解密后输出。如果输入正数代表加密,负数代表解密
加密方法是将该数每一位上的数字加8,然后除以10取余,作为该位上的新数字,最后将千位和百位上的数字互换,十位和个位上的数字互换,组成加密后的新四位数。
解密方法,按照上述加密过程逆向解密将其输出*/
//举例 输入
// 1345
// -1932
//输出 1932
// 1345
extern X;
void encrypt(int X)
{
int i,j,k,m;
X=X+8888;
i=X%10; X=X/10;
j=X%10; X=X/10;
k=X%10; X=X/10;
m=X;
X=k*1000+m*100+i*10+j;
}
void decrypt(int X)
{
int i,j,k,m;
i=X%10; X=X/10;
j=X%10; X=X/10;
k=X%10; X=X/10;
m=X;
X=10000+m*1000+k*100+j*10+i;
X=X-8888;
}
main()
{
int X;
while(scanf("%d",&X)!=EOF)
{
if(X<0)
{decrypt(X);
printf("Decrypt is %d",X);
}
else
{encrypt(X);
printf("Encrypted is %d",X);}
}
}