首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何找出一个单词在一个句子中出现的次数[C代码]?

在C语言中,可以使用字符串处理函数和循环来找出一个单词在一个句子中出现的次数。以下是一个示例代码:

代码语言:c
复制
#include <stdio.h>
#include <string.h>

int countWordOccurrences(char sentence[], char word[]) {
    int count = 0;
    char *token;

    // 使用strtok函数将句子分割成单词
    token = strtok(sentence, " ");

    // 遍历每个单词并比较是否与目标单词相同
    while (token != NULL) {
        if (strcmp(token, word) == 0) {
            count++;
        }
        token = strtok(NULL, " ");
    }

    return count;
}

int main() {
    char sentence[100];
    char word[20];

    printf("请输入一个句子:");
    fgets(sentence, sizeof(sentence), stdin);

    printf("请输入要查找的单词:");
    fgets(word, sizeof(word), stdin);

    // 去除输入字符串中的换行符
    sentence[strcspn(sentence, "\n")] = '\0';
    word[strcspn(word, "\n")] = '\0';

    int occurrences = countWordOccurrences(sentence, word);
    printf("单词 \"%s\" 在句子中出现的次数为:%d\n", word, occurrences);

    return 0;
}

这段代码首先定义了一个countWordOccurrences函数,该函数接受一个句子和一个目标单词作为参数,并返回目标单词在句子中出现的次数。函数内部使用strtok函数将句子分割成单词,并通过循环遍历每个单词,使用strcmp函数比较是否与目标单词相同,如果相同则计数器加一。

main函数中,首先通过fgets函数获取用户输入的句子和目标单词。然后使用strcspn函数去除输入字符串中的换行符。接下来调用countWordOccurrences函数计算目标单词在句子中出现的次数,并将结果打印输出。

请注意,这只是一个简单的示例代码,可能无法处理一些特殊情况,例如标点符号、大小写敏感等。在实际应用中,可能需要根据具体需求进行适当的修改和扩展。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 马尔可夫链文本生成的简单应用:不足20行的Python代码生成鸡汤文

    提到自然语言的生成时,人们通常认为要会使用高级数学来思考先进的AI系统,然而,并不一定要这样。在这篇文章中,我将使用马尔可夫链和一个小的语录数据集来产生新的语录。 马尔可夫链 马尔可夫链是一个只根据先前事件来预测事件的随机模型。举一个简单的例子:我的猫可能的状态变化。我有一只猫,它一般都是在吃、睡或者玩。它大多时间在睡觉。不过,她偶尔会醒来吃点东西。通常情况下,吃完以后,她会变得很活泼,开始玩玩具,然后她要么回去睡觉,要么再次吃东西(我想他家的猫可能是橘色的)。 我的猫的状态可以很容易地用马尔可夫链建模,因

    06
    领券