200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 练习6-3 英文字母替换加密(大小写转换+后移1位) (15 分)

练习6-3 英文字母替换加密(大小写转换+后移1位) (15 分)

时间:2022-03-09 03:26:50

相关推荐

练习6-3 英文字母替换加密(大小写转换+后移1位) (15 分)

本题要求编写程序,将英文字母替换加密。为了防止信息被别人轻易窃取,需要把电码明文通过加密方式变换成为密文。变换规则是:将明文中的所有英文字母替换为字母表中的后一个字母,同时将小写字母转换为大写字母,大写字母转换为小写字母。例如,字母a->B、b->C、…、z->A、A->b、B->c、…、Z->a。输入一行字符,将其中的英文字母按照以上规则转换后输出,其他字符按原样输出。

输入格式:

输入一行字符,以回车符 '\n'作为 结束符。

输出格式:

将输入的一行字符中的所有英文字母替换为字母表中的后一个字母,同时将小写字母转换为大写字母,大写字母转换为小写字母后输出,其他字符按原样输出。

输入样例:

在这里给出一组输入。例如:

Reold Z123?

输出样例:

在这里给出相应的输出。例如:

sFPME a123?

结尾无空行

题目要求:大致就是让我们把一串字符中的英文字母大小写转换+后移1位

编程思路:找到英文字母,然后大小写转换并且后移1位

在ASCII(标准美国信息交换标准代码)中,A-Z在十进制码值为65~90,a~z为97~122

所以,例如:大写变小写B(66)->b(98),则B-65+97=b,即B+32=b

小写变大写b(98)->B(67),则b-97+65=B,即b-32=B

但是,对于最后的Z或者来讲,就需要单独处理了。

#include<stdio.h>int main(){char ch;ch = getchar();//getchar的功能是输入单个字符while(ch!='\n'){if(ch>='A'&&ch<'Z')//判断大写字母{ch = ch+32+1; //转换并且后移一位}else if(ch=='Z') //大写'Z'单独处理{ch = 'a';}else if(ch>='a'&&ch<'z') //判断小写字母{ch = ch-32+1;}else if(ch=='z')//小写'z'单独处理{ch = 'A';}putchar(ch);//putchar的功能是输出单个字符ch = getchar(); //用while循环输入剩余字符}return 0;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。