杨巨星 杨巨星 2022-12-26 11:59 采纳率: 50%
浏览 26

统计指定单词的个数C

请问怎么统计指定单词的个数
eg:输入两行
cat cat dog
dog dog cat
统计cat的个数
谢!

  • 写回答

1条回答 默认 最新

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2022-12-26 12:26
    关注

    在 C 语言中,您可以使用以下方法来统计指定单词的个数:


    1.使用字符串函数 strstr,该函数会在一个字符串中搜索另一个字符串的出现位置。您可以使用这个函数来搜索单词,并使用一个计数器来统计单词出现的次数。

    例如:

    #include <stdio.h>
    #include <string.h>
    
    int main() {
        char s[100];
        int count = 0;
        while (fgets(s, 100, stdin)) {
            // 在字符串 s 中搜索单词 "cat"
            char *p = strstr(s, "cat");
            while (p) {
                // 如果找到了,计数器加 1
                count++;
                // 继续在剩余的字符串中搜索
                p = strstr(p + 1, "cat");
            }
        }
        printf("%d\n", count);
        return 0;
    }
    

    2.使用 strtok 函数,该函数会将字符串按照指定的分隔符分割成若干个令牌(token)。您可以使用这个函数来将字符串分割成单词,然后遍历每个单词,如果找到了要统计的单词,计数器加 1。
    例如:

    #include <stdio.h>
    #include <string.h>
    
    int main() {
        char s[100];
        int count = 0;
        while (fgets(s, 100, stdin)) {
            // 将字符串 s 分割成若干个令牌
            char *word = strtok(s, " \t\n");
            while (word) {
                // 比较当前令牌是否是要统计的单词
                if (strcmp(word, "cat") == 0) {
    // 如果是,计数器加 1
                    count++;
                }
    // 继续分割字符串,获取下一个令牌
                word = strtok(NULL, " \t\n");
            }
        }
        printf("%d\n", count);
        return 0;
    }
    

    这两种方法都可以用来统计指定单词的个数,您可以根据自己的需要选择合适的方法。

    评论

报告相同问题?

问题事件

  • 创建了问题 12月26日

悬赏问题

  • ¥15 数据库原理及应用上机练习题
  • ¥30 征集Python提取PDF文字属性的代码
  • ¥15 如何联系真正的开发者而非公司
  • ¥15 有偿求苍穹外卖环境配置
  • ¥15 代码在keil5里变成了这样怎么办啊,文件图像也变了,
  • ¥20 Ue4.26打包win64bit报错,如何解决?(语言-c++)
  • ¥15 clousx6整点报时指令怎么写
  • ¥30 远程帮我安装软件及库文件
  • ¥15 关于#自动化#的问题:如何通过电脑控制多相机同步拍照或摄影(相机或者摄影模组数量大于60),并将所有采集的照片或视频以一定编码规则存放至规定电脑文件夹内
  • ¥20 深信服vpn-2050这台设备如何配置才能成功联网?