先输入数字k(0<k<6),再将输入的一行字符中的每个英文字母按照其后续的第k个字母输出,字母超出最后一个”Z”或”z”时,循环转换(即大写Z后回到A,小写后回到a),非大小写英文字符不转换。请编程实现。
输入格式:
第一行输入数字k
第二行输入一串字符(以回车代表输入结束)
输出格式:
输入的每个英文字母按照其后续的第k个字母输出
输入样例:
3
Agte@%f32xz7Y
输出样例:
Djwh@%i32ac7B
#include<stdio.h>
int main()
{
int k;
char chr;
scanf("%d",&k);
scanf("%c",&chr);
chr=getchar();
while(chr!='\n')
{
if((chr>='a'&&chr<='z')||(chr>='A'&&chr<='Z'))
chr=chr+k;
if(chr>'z'||(chr>'Z'&&chr<='Z'+k))
chr=chr-26;
printf("%c",chr);
chr=getchar();
}
return 0;
}