C语言实现凯撒密码加密 - 简单易懂的代码示例
下面是使用C语言编写的凯撒密码变换程序,针对26个小写字母进行替换,其他字符原样输出:
#include <stdio.h>
char caesarCipher(char ch) {
// 判断字符是否为小写字母
if (ch >= 'a' && ch <= 'z') {
// 字符减去 'a',得到对应字母的索引
// 加上偏移量 4,取模 26,再加上 'a',得到替换后的字符
ch = (ch - 'a' + 4) % 26 + 'a';
}
return ch;
}
int main() {
char text[100];
int i = 0;
printf("请输入要加密的文本:");
fgets(text, sizeof(text), stdin);
while (text[i] != '\0') {
text[i] = caesarCipher(text[i]);
i++;
}
printf("加密后的文本:%s\n", text);
return 0;
}
在上述代码中,我们定义了一个caesarCipher函数,用于实现凯撒密码的字符替换。在函数中,我们使用条件判断语句判断字符是否为小写字母。如果是小写字母,将字符减去 'a' 得到对应字母的索引,然后加上偏移量 4,取模 26,再加上 'a' 得到替换后的字符。
在 main 函数中,我们声明一个字符数组 text,用于存储用户输入的文本。然后,使用 fgets 函数获取用户输入的文本,并将其存储在 text 数组中。
接下来,使用循环遍历 text 数组的每个字符。对于每个字符,调用 caesarCipher 函数进行凯撒密码的字符替换。
最后,使用 printf 函数打印出加密后的文本。
当您运行这段代码时,程序将等待用户输入要加密的文本。然后,将输入的文本进行凯撒密码的字符替换,并打印出加密后的结果。
原文地址: https://www.cveoy.top/t/topic/Eek 著作权归作者所有。请勿转载和采集!