用C语言写一个程序:有一行电文,已按规律译成密码(A→Z、B→Y、C→X、a→z、b→y、c→x…,非字母字符不变)。要求编程将密码译回原文,并输出密码和原文。
时间: 2024-05-01 07:22:09 浏览: 274
以下是用C语言编写的程序,可以将密码译回原文:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define MAX_LEN 1000
int main() {
char cipher[MAX_LEN], plaintext[MAX_LEN];
int i, len;
printf("请输入密码:");
fgets(cipher, MAX_LEN, stdin);
len = strlen(cipher);
for (i = 0; i < len; i++) {
if (isalpha(cipher[i])) {
if (islower(cipher[i])) {
plaintext[i] = 'a' + ('z' - cipher[i]);
} else {
plaintext[i] = 'A' + ('Z' - cipher[i]);
}
} else {
plaintext[i] = cipher[i];
}
}
printf("密码为:%s", cipher);
printf("原文为:%s", plaintext);
return 0;
}
```
程序首先读入密码,然后遍历每个字符,如果是字母,则按照规律将其转换为原文中对应的字符;否则直接复制该字符。最后输出密码和原文。
阅读全文