问题 D: 习题6-12 解密
内存限制:12 MB
时间限制:1.000 S
题目描述
有一行电文,已按如下规律译成密码:
A-->Z a-->z
B-->Y b-->y
C-->X c-->x
... ...
即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母,非字母字符不变。要求根据密码译回原文,并输出。
输入
输入一行密文
输出
解密后的原文,单独占一行。
样例输入
ZYX123zyx
样例输出
ABC123abc
C/C++代码:
cpp
#include <stdio.h>
#include <string.h>
int main(){
char a[100];
scanf("%s", a);
for(int i = 0; i < strlen(a); i++){
if(a[i] >= 'a' && a[i] <= 'z'){
a[i] = 'z' + 'a' - a[i];
} else if(a[i] >= 'A' && a[i] <= 'Z'){
a[i] = 'Z' + 'A' - a[i];
}
}
printf("%s", a);
return 0;
}