下面是使用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 函数打印出加密后的文本。

当您运行这段代码时,程序将等待用户输入要加密的文本。然后,将输入的文本进行凯撒密码的字符替换,并打印出加密后的结果。

C语言实现凯撒密码加密 - 简单易懂的代码示例

原文地址: https://www.cveoy.top/t/topic/Eek 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录