题目如图
代码如下
#include <stdio.h>
int main() {
char ch = 'a';//定义字符串且可以与Ascll码相互转换
int key = 0 ;
scanf("%d", &key);
getchar();//用来把scanf()中输入的'\n'吸收,如果没有这句话程序会自动终止,不会进行下面的getchar
while((ch = getchar())!='\n') {
if((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) {
ch = ch + key; //将字符串中的字母转换成ASCLL码后移key的位置再转换为字母
if(ch>'Z'&&ch>'z')ch=ch-26;//如果超出这个范围需要重新循环,而不是读取后面的ASCLL
}
putchar(ch);
}
return 0;
}