2202_76015531 2023-04-03 14:32 采纳率: 60%
浏览 29
已结题

C语言的英文加密解密问题

题7:英文加密解密系统主要功能为:在用户输入一段英文文章时,对文章中单词数及句子数进行准确统计,并根据用户的需要对此段文章加密,此后,同样也可以对加密过的文章解密。(1)从终端输入英文程序;(2)统计文章的句子数量程序;(3)统计文章的单词数量程序;(4)文章加密;(5)密文解密

  • 写回答

3条回答 默认 最新

  • 沐阳gg 2023-04-03 14:37
    关注

    好哥们儿,已回答,莫辜负😂
    ————————————————————————————————————————

    #include <stdio.h>
    #include <string.h>
    #include <ctype.h>
    
    #define MAX_LEN 1000
    
    // 统计句子数量
    int count_sentences(char *str) {
        int count = 0;
        for (int i = 0; i < strlen(str); i++) {
            if (str[i] == '.' || str[i] == '?' || str[i] == '!') {
                count++;
            }
        }
        return count;
    }
    
    // 统计单词数量
    int count_words(char *str) {
        int count = 0;
        int flag = 0;
        for (int i = 0; i < strlen(str); i++) {
            if (isalpha(str[i])) {
                if (flag == 0) {
                    count++;
                    flag = 1;
                }
            } else {
                flag = 0;
            }
        }
        return count;
    }
    
    // 加密函数
    void encrypt(char *str, int key) {
        for (int i = 0; i < strlen(str); i++) {
            if (isalpha(str[i])) {
                str[i] = (str[i] - 'a' + key) % 26 + 'a';
            }
        }
    }
    
    // 解密函数
    void decrypt(char *str, int key) {
        encrypt(str, 26 - key);
    }
    
    int main() {
        char input[MAX_LEN];
        int key;
    
        // 从终端输入英文文章
        printf("请输入一段英文文章:\n");
        fgets(input, MAX_LEN, stdin);
    
        // 统计句子数量
        int num_sentences = count_sentences(input);
        printf("句子数量:%d\n", num_sentences);
    
        // 统计单词数量
        int num_words = count_words(input);
        printf("单词数量:%d\n", num_words);
    
        // 加密文章
        printf("请输入加密密钥:\n");
        scanf("%d", &key);
        encrypt(input, key);
        printf("加密后的文章为:%s\n", input);
    
        // 解密文章
        decrypt(input, key);
        printf("解密后的文章为:%s\n", input);
    
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 用ns3仿真出5G核心网网元
  • ¥15 matlab答疑 关于海上风电的爬坡事件检测
  • ¥88 python部署量化回测异常问题
  • ¥30 酬劳2w元求合作写文章
  • ¥15 在现有系统基础上增加功能
  • ¥15 远程桌面文档内容复制粘贴,格式会变化
  • ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”