有一电文,字符串长度N<=80,已按下列规律译成译码: A→Z a→z B→Y b→y C→X c→x … … 即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母,非字母字符不变。编写一个程序将密码译成原文,并输出原文。用C语言解决
时间: 2024-05-05 19:18:05 浏览: 130
有一个电文包含26个字母和非字母字符按规律将其译成密码
5星 · 资源好评率100%
```
#include <stdio.h>
#include <string.h>
int main() {
char str[81]; // 保存电文的数组
int len; // 保存电文长度
fgets(str, 81, stdin); // 读取电文字符串
len = strlen(str); // 计算电文字符串长度
for (int i = 0; i < len; i++) {
if (str[i] >= 'A' && str[i] <= 'Z') { // 大写字母
str[i] = 'A' + 'Z' - str[i];
} else if (str[i] >= 'a' && str[i] <= 'z') { // 小写字母
str[i] = 'a' + 'z' - str[i];
}
}
printf("原文是:%s", str); // 输出原文
return 0;
}
```
阅读全文