题目:
为使电文保密,往往按照一定的规律将其转换成密码,收报人再按照约定的规律将其译成原文。例如,某次发报时采用的密码规律为:
将字母A变成字母E,a变成e,即变成其后的第4个字母,W(w)变成A(a),X(x)变成B(b), Y(y)变成C(c),Z(z)变成D(d)
#include<stdio.h> //译密码
int main()
{
char a[100]; //定义一个可行范围内的字符数组
int i,s=0;
while(1) //无限循环
{
scanf("%d",&a[s++]); //进行字符输入 s自加
if(getchar()=='\n') //当输入为换行符时循环结束
break;
}
for(i=0;i<=s;i++) //对字符数组内的元素进行循环判断输出
{
if((a[i]>='A'&&a[i]<='V')||(a[i]>='a'&&a[i]<='v')) //A至V a至v的ASCII值加4
printf("%c",a[i]+4);
if((a[i]>='W'&&a[i]<='Z')||(a[i]>='w'&&a[i]<='z')) //W至Z w至z的ASCII值-32
printf("%c",a[i]-22);
if(a[i]<'A'||a[i]>'z'||(a[i]>'Z'&&a[i]<'a')) //非字母元素不变
printf("%c",a[i]);
}
printf("\n");
return 0;
}