C语言:1003.密码破译
题目描述:
要将"China"译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母.
例如,字母"A"后面第4个字母是"E".“E"代替"A”。因此,“China"应译为"Glmre”。
请编一程序,用赋初值的方法使cl、c2、c3、c4、c5五个变量的值分别为,’C’、’h’、’i’、’n’、’a’,经过运算,使c1、c2、c3、c4、c5分别变为’G’、’l’、’m’、’r’、’e’,并输出。
题解:
#include<stdio.h>
int main()
{
char s[11];//定义一个长度为10的字符串(注意:有结束符)
gets(s);//输入字符串
for(int i = 0; s[i] != '\0'; i++){//循环到结束符'\0'时结束
if(s[i] >= 'A' && s[i] <= 'Z'){//判断是否为大写字母
s[i] = (s[i] - 'A' + 4) % 26 + 'A';//大写字母后移
}
if(s[i] >= 'a' && s[i] <= 'z'){//判断是否为小写字母
s[i] = (s[i] - 'a' + 4) % 26 + 'a';//小写字母后移
}
}
puts(s);//输出字符串
return 0;
}