用C语言实现去大写字母的加密。加密规则如下:当字母为A~W时,用该字母后的第三个字母加密,字母X,Y,Z分别用A,B,C来加密
时间: 2024-10-14 21:12:40 浏览: 27
在C语言中,可以创建一个函数来实现这样的大写字母加密规则。这里我们先定义一个数组,存储每个字母对应的新位置,然后编写函数进行加密。以下是一个简单的实现:
```c
#include <stdio.h>
#include <ctype.h>
#define ALPHABET_SIZE 26
// 定义加密表
char encryption_table[ALPHABET_SIZE] = {'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',
'X', 'A', 'B', 'C'}; // 根据给定的规则设置加密表
char encrypt_char(char c) {
if (isalpha(c) && isupper(c)) {
return encryption_table[(c - 'A') + 3]; // 加密大写字母
} else {
return c; // 非大写字母不做处理
}
}
void encrypt_string(char *str) {
for (char *p = str; *p; p++) {
*p = encrypt_char(*p);
}
}
int main() {
char input_str[100];
printf("请输入要加密的大写字母字符串(按回车结束):\n");
fgets(input_str, sizeof(input_str), stdin); // 读取用户输入
// 去除末尾的换行符
input_str[strlen(input_str) - 1] = '\0';
encrypt_string(input_str); // 对字符串进行加密
printf("加密后的字符串是: %s\n", input_str);
return 0;
}
```
在此代码中,`encrypt_char` 函数负责加密单个字符,`encrypt_string` 函数用于加密整个字符串。
阅读全文