题目
本题是谭浩强《C程序设计课后习题》例题5.11。
题目:
为使电文保密,往往按一定规律将其转换成密码,收报人再按约定的规律将其译回原文
例如,可以将以下规律将电文变成密码:将字母A变成字母E,a变成e,
即变成其后的第4个字母,W变成A,X变成B,Y变成C,Z变成D。字母按上述规律转换,非字母字符保持原状不变,
如“China!”变成“Glmre!”。从键盘输入一行字符,要求输出其相应的密码。
以下是本篇文章正文内容,欢迎朋友们进行指正,一起探讨,共同进步。——来自考研路上的lwj
一、解题思路
思路:
关键的一些地方在代码块中均有注释,大家查看即可。
二、代码部分
1.引入库
代码如下(示例):
#include<stdio.h>
2.主函数部分
代码如下(示例):
int main() {
char a[100];
int i = 0;
gets(a);
for (i = 0; a[i]; i++)
{
if ((a[i] >= 'A' && a[i] <= 'Z') || (a[i] >= 'a' && a[i] <= 'z'))//判断是否为字母,是字母则进行破译。
{
if ((a[i] >= 'A' && a[i] <= 'V') || (a[i] >= 'a' && a[i] <= 'v'))//根据规律,如果在A-V之间,原字母+4,其他字母则-22
{
a[i] = a[i] + 4;
}
else
{
a[i] = a[i] - 22;
}
}
}
puts(a);
return 0;
}
三、执行结果
输入:
China!
输出:
Glmre!