一、问题
由键盘任意输入一串字符,对其进行加密,加密原则为:如果为字母,将其循环右移2个字母,其他字符保持不变。
输入: 一串字符
输出: 加密后的字符串
输入样例: abl2CDxyz
输出样例: cdn2EFzab
提示: 1. 可用gets()和puts()输入输出字符串。
2. 利用ASCII码运算进行加密。
3. 循环右移的含义是:将a-z,A-Z各看成一个环进行移动,即y右移2个字母后为a,z右移2个字母后为b;Y右移2个字母后为A,Z右移2个字母后为B。
二、代码
#include <stdio.h>
int main(){
char a[256];
gets(a);
int i;
for(i=0;a[i]!=0;i++)//巧妙不用计算len(a)
{
if(('A'<=a[i]&&a[i]<='X')||('a'<=a[i]&&a[i]<='x'))//不可以'a'<=a[i]<='x' 注意字符要加''
{
a[i]=a[i]+2;
}
else if(('X'<a[i]&&a[i]<='Z')||('x'<a[i]&&a[i]<='z'))
{
a[i]=a[i]-24;
}
}
puts(a);
return 0;
}
三、tips
注意不用len(a)的方法
字符要'a'