c语言输入一行电文(长度控制在80以内),按照以下规则进行加密: 如果是字母的话,按A→E、B→F、a→e、b→f、w→a、W→A的规律转化,其它字符不变。 最后输出加密后的电文。 例:输入ab * xy,则输出ef * bc。
时间: 2024-02-10 21:10:35 浏览: 93
c语言 加密文本
3星 · 编辑精心推荐
好的,根据您的要求,我可以为您提供一个C语言的加密程序。请将需要加密的电文输入到代码中的message数组中,然后运行程序即可得到加密后的结果。
```c
#include <stdio.h>
#include <string.h>
int main() {
char message[81];
fgets(message, 80, stdin);
int length = strlen(message);
char encrypted_message[81];
for (int i = 0; i < length; i++) {
if (message[i] >= 'a' && message[i] <= 'z') {
if (message[i] == 'w') {
encrypted_message[i] = 'a';
} else {
encrypted_message[i] = message[i] + 4;
if (encrypted_message[i] > 'z') {
encrypted_message[i] -= 26;
}
}
encrypted_message[i] -= 32;
} else if (message[i] >= 'A' && message[i] <= 'Z') {
if (message[i] == 'W') {
encrypted_message[i] = 'A';
} else {
encrypted_message[i] = message[i] + 4;
if (encrypted_message[i] > 'Z') {
encrypted_message[i] -= 26;
}
}
} else {
encrypted_message[i] = message[i];
}
}
printf("%s", encrypted_message);
return 0;
}
```
请注意,此程序有一个限制,即输入的电文不能包含空格,否则程序会在空格处停止处理。如果您需要处理包含空格的电文,请使用其他方法读入字符串。
阅读全文