Cry 2023-04-05 13:43 采纳率: 100%
浏览 7
已结题

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

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

  • 写回答

2条回答 默认 最新

  • 瞬间的未来式 2023-04-05 13:55
    关注

    根据你的需求调整

    #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;
    }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月13日
  • 已采纳回答 4月5日
  • 创建了问题 4月5日