帮我看一下,较短不复杂,代码为什么正确
描述
有一行英文密码,友军急切地想知道原文是什么,现知道加密的方法如下: (1)第一个字母的密文与原文相同;(2)从第二个字母开始,每一个字母的密文的ACSII码等于(上一个字母的密文的ACSII码-32)+(原文ACSII-32)的和再与96取模,最后加上32,要求输出原文。
输入格式
一段密文(以EOF结束)
输出格式
明文
输入样例
W<(tXG5z&m\K/
输出样例
Welldone,good
#include"stdio.h"
int change(int last, int current)
{
int x;
x=current-last+128;
if(x>=0 && x<=127) return x;
return (current-last+32);
}
main()
{
char ch1, ch2;
ch2 = getchar();
putchar(ch2);
while(ch2!=EOF)
{
ch1=ch2;
ch2= getchar();
if(ch2==EOF) break;
putchar((char)change(ch1,ch2));
}
}
[解决办法]
程序没错误,这个要看你结束符输入的是什么了。。。
[解决办法]