C语言题目:电文加密 描述: 把电文按照下列规律译成密码:A → Z a → z B → Y b → y C → X c → x……, 电文如果不是字母,内容不变。
时间: 2024-11-22 12:36:41 浏览: 67
这个C语言题目是关于电文加密,也称为简单的字母替换加密。它的规则很简单,就是将英文的大写字母(A到Z)替换为相邻的另一个大写字母(Z变为A),小写字母(a到z)也同样替换为相邻的小写字母(z变为a)。其他非字母字符保持原样。
例如,输入 "Hello World",经过这种加密后会变成 "Hgnnq Oruvyy"。
下面是一个基本的C程序示例,用于完成这个任务:
```c
#include <stdio.h>
#include <ctype.h>
char encrypt(char ch) {
if (isalpha(ch)) {
if (islower(ch))
return ch + 1;
else
return ch - 25; // A to Z, Z wraps back to A
}
return ch;
}
void encrypt_string(char *input, char *output) {
while (*input) {
*output++ = encrypt(*input++);
}
*output = '\0'; // null terminate the output string
}
int main() {
char plaintext[100];
char ciphertext[100];
printf("请输入电文:");
fgets(plaintext, sizeof(plaintext), stdin);
plaintext[strlen(plaintext) - 1] = '\0'; // remove newline
encrypt_string(plaintext, ciphertext);
printf("加密后的电文:%s\n", ciphertext);
return 0;
}
```
阅读全文