用C语言程序对一段电文进行加密,将大写字母变为后三个字母,把X,Y,Z变为A,B,C
时间: 2024-10-16 18:12:28 浏览: 30
在C语言中,我们可以创建一个简单的加密函数,通过位移操作来实现题目所描述的电文加密规则。这里我们假设输入字符串只包含大写字母和XYZ。下面是一个基本的示例:
```c
#include <stdio.h>
#include <string.h>
// 定义加密函数
char encrypt(char c) {
if (c >= 'A' && c <= 'Z') { // 如果是大写字母
if (c == 'X') return 'A'; // X -> A
else if (c == 'Y') return 'B'; // Y -> B
else if (c == 'Z') return 'C'; // Z - 'A');
}
// 非大写字母直接返回
return c;
}
int main() {
char input[100];
printf("请输入要加密的电文:\n");
fgets(input, sizeof(input), stdin); // 读取一行用户输入
input[strcspn(input, "\n")] = '\0'; // 清除换行符
for (int i = 0; input[i] != '\0'; ++i) {
input[i] = encrypt(input[i]); // 对每个字符进行加密
}
printf("加密后的电文: %s\n", input);
return 0;
}
```
在这个程序中,`encrypt` 函数负责处理单个字符的加密,如果遇到非大写字母则直接返回。在 `main` 函数里,我们读取用户输入,并遍历字符串,对每一个字符应用加密规则。
阅读全文