L-059敲笨钟

#include<stdio.h>
#include<string.h>  // 引入字符串处理函数库

char b[105] = " qiao ben zhong.";  // 定义一个全局字符数组 b,存储固定的字符串

int main(void) {
    int n;  // 定义一个整数 n,用于存储输入的句子数量
    scanf("%d", &n);  // 输入句子数量 n
    getchar();  // 吞掉输入缓冲区中的换行符(回车)

    char a[1005];  // 定义一个字符数组 a,用于存储每个句子

    for (int i = 0; i < n; i++) {  // 遍历每个句子
        gets(a);

        int j = 0;  // 定义一个索引变量 j,用于遍历字符数组 a
        while (a[j] != ',') {  // 找到句子中第一个逗号的位置
            j++;
        }

        // 检查逗号前是否是 "ong"
        if (a[j - 1] == 'g' && a[j - 2] == 'n' && a[j - 3] == 'o') {
            while (a[j] != '.') {  // 找到句子中第一个句号的位置
                j++;
            }

            // 检查句号前是否是 "ong"
            if (a[j - 1] == 'g' && a[j - 2] == 'n' && a[j - 3] == 'o') {
                a[j + 1] = '0';  // 在句号后添加一个结束符(这里可能是为了标记字符串的结束)

                int l = j;  // 定义一个索引变量 l,用于从句号位置向前查找
                int sum = 0;  // 定义一个计数器 sum,用于统计空格的数量
                while (sum != 3) {  // 找到倒数第三个空格的位置
                    if (a[l] == ' ') {
                        sum++;
                    }
                    l--;
                }

                a[l + 1] = '\0';  // 在倒数第三个空格后截断字符串
                strcat(a, b);  // 将全局字符数组 b 的内容拼接到 a 的末尾
                printf("%s\n", a);  // 输出处理后的句子
                continue;  // 跳过后续代码,进入下一个句子的处理
            }
        }

        // 如果句子不符合条件,输出 "Skipped"
        printf("Skipped\n");
    }

    return 0;  // 程序正常结束
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务