编程实现对键盘输入的英文名句子进行加密。用加密方法为:当内容为英文字母时,用26字母中的其后三个字母代替该字母,若为其它字符时不变。比如245a95n加密后是245bcd95opq。(C语言)
int main(int argc, const char * argv[]) {
char str[80];//创建一个字符串数组 用来接受从键盘录入的字符串
char c;//定义一个 字符用来存放将字符串一个一个取出来的字符
gets(str);//这是一个 C语言的方法 用来从键盘接受字符串 比 scanf 方便
for (int i=0; (c=str[i])!='\0'; i++) {//此行为重点 注意for循环的执行条件 我们都知道字符串的存储是以'\0'来结尾的 当我们一个一个取出字符串中的单个字符时 当取到'\0'就代表字符串取完了 注意点招所有对字符串的处理 判断用到的for循环的都是这个条件 OC中也是 所以很重要 记住你就没问题了!!
/* 下面是对加密条件的分析
1.数字不处理原样输出,
2. a A ~~~~w W 可写成一种if语句里面
3. 从X Y Z 这三种字母是特出情况 需要单独拿出来考虑
x||X 后三位为yza
y||Y zab
z||Z abc
代码如下:
*/
if (c>='0'&&c<='9') {
printf("%c",c);
}else if ((c>='a'&&c<='w')||(c>='A'&&c<='W'))
printf("%c%c%c",c+1,c+2,c+3);
else if (c=='x'||c=='X')
printf("%c%c%c",c+1,c+2,c-23);
else if (c=='y'||c=='Y')
printf("%c%c%c",c+1,c-24,c-23);
else if (c=='z'||c=='Z')
printf("%c%c%c",c-25,c-24,c-23);
}
return 0;
} |
|