```c
include include void caesarEncrypt(char *text, int shift) { char ch; for (int i = 0; text[i] != '\0'; ++i) { ch = text[i]; // 大写字母处理 if (ch >= 'A' && ch <= 'Z') { ch = ((ch - 'A' + shift) % 26) + 'A'; } // 小写字母处理 else if (ch >= 'a' && ch <= 'z') { ch = ((ch - 'a' + shift) % 26) + 'a'; } text[i] = ch; } } int main() { char message; int shift; printf("请输入要加密的消息: "); fgets(message, sizeof(message), stdin); message[strcspn(message, "\n")] = '\0'; // 去掉fgets读取的换行符 printf("请输入加密密钥(步长): "); scanf("%d", &shift); caesarEncrypt(message, shift); printf("加密后的消息: %s\n", message); return 0; } ``` 代码解释 caesarEncrypt函数: 该函数接受一个字符串指针`text`和一个整数`shift`作为参数。 它遍历字符串中的每个字符,检查字符是否为大写字母或小写字母。 根据字符的类型,将其ASCII码值加上`shift`,然后对26取模,最后加上'A'或'a'的ASCII码值,以确保结果仍在字母表范围内。 main函数: 提示用户输入要加密的消息。 使用`fgets`读取用户输入的消息,并去掉末尾的换行符。 提示用户输入加密密钥(步长)。 调用`caesarEncrypt`函数对消息进行加密。 输出加密后的消息。 使用示例 ``` 请输入要加密的消息: Hello, World! 请输入加密密钥(步长): 3 加密后的消息: Khoor, Zruog! ``` 这个程序是一个简单的加密示例,适用于学习和演示基本的加密技术。对于实际应用,建议使用更安全的加密算法,如AES或DES。