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

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

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

#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;
}
1)获取英文文章:

char* getArticle(){
    char *input;
    printf("Please input a article: ");
    scanf("%s",input);
    return input;
}

(2)统计句子数量程序:

int countSentence(char* article){
    int sentence_count = 0;
    for(int i=0;i<strlen(article);i++){
        if(article[i] == '.'){
            sentence_count++;
        }
    }
    return sentence_count;
}

(3)统计单词数量程序:

int countWord(char* article){
    int word_count = 0;
    for(int i=0;i<strlen(article);i++){
        if(article[i] == ' '){
            word_count++;
        }
    }
    return word_count;
}

(4)文章加密程序:

void encryption(char* article){
    for(int i=0;i<strlen(article);i++){
        article[i] += 1;
    }
}

(5)密文解密程序:

void decryption(char* article){
    for(int i=0;i<strlen(article);i++){
        article[i] -= 1;
    }
}