黑马程序员技术交流社区
标题:
c语言编程题
[打印本页]
作者:
程序猿的崛起
时间:
2015-4-30 23:06
标题:
c语言编程题
编程实现对键盘输入的英文名句子进行加密。用加密方法为:当内容为英文字母时,用26字母中的其后三个字母代替该字母,若为其它字符时不变。比如245a95n加密后是245bcd95opq。
这个XYZ怎么处理???
作者:
LLLX77
时间:
2015-4-30 23:43
照样加3,输出相对应的ASCII码,解码的时候也方便,如果一定要转为字母,就细化判断语句,当遇上XYZ字母是往前转,转为ABC
作者:
mony
时间:
2015-4-30 23:54
我认为,x就是输出yza,y就是输出zcb,z就是输出abc
作者:
凌乱
时间:
2015-5-1 09:39
楼上的是不是说错了?
作者:
冰儿
时间:
2015-5-1 09:41
我自己做的是判断到w以后就显示输入有误了,看来大家的理解都不一样啊
作者:
wangzhewjl
时间:
2015-5-1 10:14
本帖最后由 wangzhewjl 于 2015-5-1 10:16 编辑
大小写都算上一共就6个字母特殊,你可以都一一写出来,遇到x就转成yza,遇到y就转成zab,以此类推。 或者遇到w以后的你直接ASCII码值减去26输出,相当于进入下一个26字母循环。也就是想x、y、z后面就是一个新的循环a、b、c、.....
作者:
shenxian88
时间:
2015-5-1 11:06
假如输入的字母是x、y、z;那么就重新定义一个字符串
if((ch>='x'&&ch<='z')||(ch>='X'&&ch<='Z')){//ch表示字符
char xyz[] = "xyzabcXYZABC";//定义字符串
for (int i=0; i<9; i++) {
if(ch==xyz[i])//判断字符是不是在字符串里面,如果在就执行下面的语句
printf("%c%c%c",xyz[i+1],xyz[i+2],xyz[i+3]);
}
楼主如果问题解决了,就结贴了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2