用c语言写一个程序要求有一行电文,已按规律译成密码(A→Z、B→Y、C→X、a→z、b→y、c→x…,非字母字符不变)。要求编程将密码译回原文,并输出密码和原文。
时间: 2024-05-06 15:18:54 浏览: 207
有一个电文包含26个字母和非字母字符按规律将其译成密码
5星 · 资源好评率100%
下面是用C语言编写的程序,可以实现将密码译回原文并输出密码和原文:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char c, password[100], plaintext[100];
int i = 0, j;
printf("请输入密码:");
while ((c = getchar()) != '\n') {
if (isalpha(c)) {
password[i] = c;
plaintext[i] = isupper(c) ? 'A' + 'Z' - c : 'a' + 'z' - c;
} else {
password[i] = plaintext[i] = c;
}
i++;
}
password[i] = plaintext[i] = '\0';
printf("密码:%s\n", password);
printf("原文:%s\n", plaintext);
return 0;
}
```
程序的基本思路是:读入用户输入的密码,对于每个字母,如果是大写字母,则将其转换为对应的大写字母(例如,A→Z),否则将其转换为对应的小写字母(例如,a→z);如果不是字母,则不做变换。同时,将变换后的字母存储到一个字符数组中,以便输出原文时使用。
最后,程序输出密码和原文。注意,这里假设密码长度不超过100个字符,可以根据实际需要进行调整。
阅读全文