本帖最后由 50mmf1.0 于 2015-5-5 23:09 编辑
基础测试题。 测试和代码也没什么问题,但是每次输入小写打印出来的字母都是大写的怎么破??? 经调试是使用while之后输入的值就变成大写的字符了。可是getchar()是直接提取字符的ascii码,这里也不会出问题。。 研究一晚上了已崩溃。。。 求大神指条明路。 新买的Mac不想砸。。
/* 7.编程实现对键盘输入的英文名句子进行加密。用加密方法为:当内容为英文字母时,用26字母中的其后三个字母代替该字母,若为其他字符时不变。比如245a95n加密后是245bcd95opq.(C语言) */
#include <stdio.h>
int main() { char a;
printf("请输入一个英文名句子:");
while ((a = getchar()) != '\n') { if ((a >= 'A' && a <= 'W') || (a >= 'a' && a <= 'w')) { for (int i = 0; i < 3 ; i++) { a++; printf("%c",a); } } else if ((a >= 'X' && a <= 'Z') || (a >= 'x' && a <= 'z')) { for (int i = 0; i < 3 ; i++) { a++; while (a > 'z' || a > 'Z' ) { a = a - 26; } printf("%c",a); } } else { printf("%c", a); } }
printf("\n");
return 0; }
|