浙大版《C语言程序设计(第4版)》题目集参考答案
本题要求编写程序,将英文字母替换加密。为了防止信息被别人轻易窃取,需要把电码明文通过加密方式变换成为密文。变换规则是:将明文中的所有英文字母替换为字母表中的后一个字母,同时将小写字母转换为大写字母,大写字母转换为小写字母。例如,字母a->B、b->C、…、z->A、A->b、B->c、…、Z->a。输入一行字符,将其中的英文字母按照以上规则转换后输出,其他字符按原样输出。
输入格式:
输入一行字符,以回车符 '\n'作为 结束符。
输出格式:
将输入的一行字符中的所有英文字母替换为字母表中的后一个字母,同时将小写字母转换为大写字母,大写字母转换为小写字母后输出,其他字符按原样输出。
输入样例:
在这里给出一组输入。例如:
Reold Z123?
输出样例:
在这里给出相应的输出。例如:
sFPME a123?
提交结果:
基本思路:
接收字符并利用if..else多分的结构判断字符,通过加减转换为对应的ASCII码
代码实现:
#include<stdio.h>
int main()
{
char ch;
while ((ch = getchar()) != '\n')
{
if (ch >= 'A' && ch <= 'Y')//处理A到Y的大写字母
{
ch += 33;//对应ASCII码
}
else if (ch == 'Z')
{
ch = 'a';
}
else if (ch >= 'a' && ch <= 'y')//处理a到y的小写字母
{
ch -= 31;//对应ASCII码
}
else if (ch == 'z')//z单独处理
{
ch = 'A';
}
putchar(ch);//打印结果
}
return 0;
}
欢迎提问和纠错,共同讨论一起进步!