题目描述
由键盘任意输入一个长度不超过100个字符的字符串,对其中的字符逐个进行加密,加密原则为:如果为字母,将其循环右移2个字母,其他字符保持不变。
输入
一串字符
输出
加密后的字符串
样例输入 复制
ab12CDxyz
样例输出 复制
cd12EFzab
提示
1. 可用fgets(char *s, int maxlen, stdin);和puts()输入输出字符串。
2. 利用ASCII码运算进行加密。
解析:根据提示我们可以先建立一个数组a,用gets函数输入函数,然后利用for循环逐个字符筛查如果是字母的话就让他ASCII码右移两位,然后用puts函数输出即可。
注意:1. y(Y)和z(Z)没法直接加2;所以要单独处理-24; 2.不能是两个if,后边的得是else (if)
下方代码展示
#include <stdio.h>
int main()
{
char a[100];
gets(a);
int i;
for(i=0;a[i]!=0;i++){
if((a[i]>='a'&&a[i]<='x')||(a[i]>='A'&&a[i]<='X')){
a[i]+=2;
}
else if((a[i]>='y'&&a[i]<='z')||(a[i]>='Y'&&a[i]<='Z')){
a[i]-=24;
}
}
puts(a);
return 0;
}