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