问题 D: 习题6-12 解密
时间限制: 1 Sec 内存限制: 12 MB
题目描述
有一行电文,已按如下规律译成密码:
A–>Z a–>z
B–>Y b–>y
C–>X c–>x
… …
即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母,非字母字符不变。要求根据密码译回原文,并输出。
输入
输入一行密文
输出
解密后的原文,单独占一行。
样例输入
ZYX123zyx
样例输出
ABC123abc
#include <stdio.h>
#include <string.h>
int main() {
char str[50];
gets(str);
int c=strlen(str);
int i;
for (i=0;i<c;i++) {
if (str[i]>='A' && str[i]<='Z') {
str[i]='A'+'Z'-str[i];
}
if (str[i]>='a' && str[i]<='z') {
str[i]='a'+'z'-str[i];
}
}
puts(str);
return 0;
}
来源:CSDN
作者:ZOE_ZHU
链接:https://blog.csdn.net/qq_41913876/article/details/103836853