求:C语言破译密码程序

来源:百度知道 编辑:UC知道 时间:2024/06/22 00:01:52
为了使电报码保密,往往需要将电文按一定规律译成密码,然后收报人再将其译回原文。
例如,可以按下面规律译成密码:将每一个字母变成它后面的一个字母,如将 ‘A’变成 ‘B’, ‘a’变成‘b’,‘Z’变成‘A’, ‘z’变成‘a’……,其它字符不变,以 ‘!’作为电文结束标志。
现设有一段电文:You are right!
按上述给出的译文规则,则应破译成:Zpv bsf sjhiu!

就是类似以上的程序,只是一个作业!
谢谢大家给我一个满意的答案!

#include<stdio.h>

int main()
{
char s;
while((s=getchar())!='!')
{
if(s>='a'&&s<'z')
++s;
else if(s=='z')
s='a';
else if(s>='A'&&s<'Z')
++s;
else if(s=='Z')
s='A';
printf("%c",s);
}
printf("!");
}

#include <stdio.h>

int main(void)
{
char ch;

while((ch = getchar()) != '!')
{
if( ((ch>='A')&&(ch<='Z')) || ((ch>='a')&&(ch<='z')) )
{
ch++;
if( ((ch>'Z')&&(ch<'a')) || (ch>'z') )
{
ch-=26;
}
}
putchar(ch);
}

return 0;
}

[65@baidu.zhidao]$ cat 78156106.c
#include <stdio.h>
#include <ctype.h>
int main(int argc, char *