.编写代码实现一个简单的加密演示:将“China”加密为“GImre”。加密规则是使用字母表中原始字母之后的第四个字母(提示:参见ASCI|表并使用char数据类型。)
时间: 2024-11-28 22:26:23 浏览: 8
要实现这个简单的加密演示,我们可以遍历字符串中的每个字符,找到其ASCII值,然后加上4(因为我们从原始位置后移四位),再转换回字符。以下是一个C语言的示例代码:
```c
#include <stdio.h>
#include <string.h>
// 加密函数
char encrypt_char(char c) {
if (c >= 'A' && c <= 'Z') { // 大写字母
return (c + 4 - 'A') % 26 + 'A';
} else if (c >= 'a' && c <= 'z') { // 小写字母
return (c + 4 - 'a') % 26 + 'a';
} else { // 非字母字符保持不变
return c;
}
}
// 加密整个字符串
void encrypt_string(const char *str, char *encrypted_str) {
int len = strlen(str);
for (int i = 0; i < len; i++) {
encrypted_str[i] = encrypt_char(str[i]);
}
encrypted_str[len] = '\0'; // 添加字符串结束符
}
int main() {
const char *original_str = "China";
char encrypted_str[15]; // 假设字符串不会超过14个字符(包括空格)
strcpy(encrypted_str, original_str); // 复制原字符串以便进行修改
encrypt_string(original_str, encrypted_str);
printf("Original string: %s\n", original_str);
printf("Encrypted string: %s\n", encrypted_str);
return 0;
}
```
在这个程序中,`encrypt_char` 函数负责单个字符的加密,`encrypt_string` 函数则遍历整个字符串并对每个字符进行加密。请注意,这个例子假设输入字符串长度不超过14个字符,因为没有额外的空间存储加密后的结果。
阅读全文