有一行电文,已经按照如下规则译成了密码:
A->Z a->z
B->Y b->y
C->X c->x
… …
… …
即第1个字母变换成第26个字母,第i个字母变换成第(26-i+1)个字母。非字母字符不变。给定一段密码,请将其译成原文并输出。
输入
一行密码,包含各种可见字符,保证长度不超过100。
输出
如题目描述中密码翻译规则译出的原文。
请注意行尾输出换行。
有一行电文,已经按照如下规则译成了密码:
A->Z a->z
B->Y b->y
C->X c->x
… …
… …
即第1个字母变换成第26个字母,第i个字母变换成第(26-i+1)个字母。非字母字符不变。给定一段密码,请将其译成原文并输出。
输入
一行密码,包含各种可见字符,保证长度不超过100。
输出
如题目描述中密码翻译规则译出的原文。
请注意行尾输出换行。
#include<iostream>
#include<string.h>
using namespace std;
int main() {
char a[200];
for (int i = 0; i <= 25; i++) {
a['a' + i] = (25 - i) + 'a';
}
for (int i = 0; i <= 25; i++) {
a['A' + i] = (25 - i) + 'A';
}
char str[100];
cin >> str;
for (int i = 0; i < strlen(str); i++) {
if ((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z'))
cout << a[str[i]];
else
cout << str[i];
}
return 0;
}