将一串字符加密之后再输出

题目描述
先编写函数 EncryptChar, 按照下述规则将给定的字符 c 转化(加密)为新的字符"A" 转化 "B" "B" 转化为 "C"等等"Z" 转化为 "a","a" 转化为 "b",等等 "z" 转化为 "A",其它字符不加密。编写程序,加密给定字符串。
输入格式
输入为一行,表示转换前的字符串。
输出格式
输出仅一行,表示加密后的字符串。

根据你的需求调整

#include <stdio.h>
#include <ctype.h> // 需要用到toupper和tolower函数

char EncryptChar(char c) {
    if (c >= 'A' && c <= 'Z') { // 大写字母
        return (c - 'A' + 1) % 26 + 'a'; // 转换为小写字母
    } else if (c >= 'a' && c <= 'z') { // 小写字母
        return (c - 'a' + 1) % 26 + 'A'; // 转换为大写字母
    } else { // 其他字符不加密
        return c;
    }
}

int main() {
    char str[100]; // 假设输入的字符串不超过100个字符
    fgets(str, 100, stdin); // 从标准输入读入字符串
    for (int i = 0; str[i] != '\0'; i++) {
        putchar(EncryptChar(str[i])); // 逐个字符加密并输出
    }
    return 0;
}


不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^