题目描述
有一行电文,已按如下规律译成密码:
A–>Z a–>z
B–>Y b–>y
C–>X c–>x
… …
即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母,非字母字符不变。要求根据密码译回原文,并输出。
输入
输入一行密文
输出
解密后的原文,单独占一行。
样例输入
ZYX123zyx
样例输出
ABC123abc
代码:
#include <stdio.h>
int main() {
char arr[10];
int i;
for(i=0; i<10; i++) {
scanf("%c", &arr[i]);
if(arr[i]>=65 && arr[i]<=90) {
arr[i] = 'A' + 'Z' - arr[i];
} else if(arr[i]>=97 && arr[i]<=122) {
arr[i] = 'a' + 'z' - arr[i];
}
}
for(i=0; i<10; i++) {
printf("%c", arr[i]);
}
return 0;
}
结果: