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日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效