下面是一个简单的C语言程序,它实现了凯撒密码加密功能。该程序接受用户输入的字符串,并将其通过向右移动3位的方式加密。请将以下代码复制到您的C语言开发环境中:
#include <stdio.h>
#include <string.h>
#include <ctype.h>
// 函数声明:进行凯撒密码加密
void caesarEncrypt(char text[], int shift);
int main() {
char text[100]; // 假设最大长度为99,留一个位置给字符串结尾的'\0'
printf("Enter text: ");
fgets(text, sizeof(text), stdin); // 输入字符串,包括空格
// 去除可能读取的换行符
size_t len = strlen(text);
if (len > 0 && text[len - 1] == '\n') {
text[len - 1] = '\0';
}
printf("Original text: %s\n", text); // 显示原始文本
caesarEncrypt(text, 3); // 加密文本,向右移动3位
printf("Encrypted text: %s\n", text); // 显示加密后的文本
return 0;
}
// 定义凯撒密码加密函数
void caesarEncrypt(char text[], int shift) {
for (int i = 0; text[i] != '\0'; i++) {
if (isalpha(text[i])) { // 如果是字母
char base = islower(text[i]) ? 'a' : 'A';
text[i] = ((text[i] - base + shift) % 26) + base; // 进行移位
}
}
}
主函数:
fgets
用于读取用户输入的字符串,可以包含空格。fgets
读入的换行符。caesarEncrypt
函数:
caesar_cipher.c
。gcc -o caesar_cipher caesar_cipher.c
./caesar_cipher
输入文本 "good good study",然后程序会输出加密后的结果。
请注意,我无法直接为您提供截图服务,不过按照上述方法操作后,您应该能得到程序的正确运行结果。