加密规律:用原来的字母后面第4个字母代替原来的字母,例如,字母"A"用字母"E"代替。"China"加密后为"Glmre"。编程用赋值的方法给5个变量赋值,然后输出加密后的字符。用c语言
时间: 2024-10-05 14:02:59 浏览: 32
C#将字母或数字加密成字母的方法
在C语言中,你可以使用数组和循环来实现这个简单的加密规则。首先,创建一个包含26个字母的大写字母数组,并通过索引来找到每个字母的替换字符。这里是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
#define ALPHABET_SIZE 26
char encrypted[ALPHABET_SIZE];
// 初始化加密表,将原来的字母后面第4个字母设为新的字符
void init_encrypt_table() {
for (int i = 0; i < ALPHABET_SIZE; ++i) {
if (i + 4 >= ALPHABET_SIZE) { // 避免除数溢出,超过Z就从A开始算
encrypted[i] = 'A' + (i + 4 - ALPHABET_SIZE);
} else {
encrypted[i] = 'A' + i + 4;
}
}
}
// 加密函数
void encrypt(char* input) {
int len = strlen(input);
for (int i = 0; i < len; ++i) {
if (input[i] >= 'A' && input[i] <= 'Z') {
input[i] = encrypted[(input[i] - 'A')] % ALPHABET_SIZE; // 确保字符在大写字母范围内
}
}
}
int main() {
char original[] = "China";
init_encrypt_table();
encrypt(original);
printf("Original: %s\n", original); // 输出原始字符串
printf("Encrypted: %s\n", original); // 输出加密后的字符串
return 0;
}
```
在这个程序中,`init_encrypt_table()` 函数初始化了加密表,`encrypt()` 函数用于实际的加密操作。注意,因为加密规则涉及到字母的循环,所以对超出范围的字母进行了调整。
阅读全文