首页
学习
活动
专区
工具
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函数计算目标单词在句子中出现的次数,并将结果打印输出。

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

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

相关·内容

  • MapReduce初体验——统计指定文本文件一个单词出现次数

    本篇博客,小菌为大家带来则是MapReduce实战——统计指定文本文件一个单词出现次数。 我们先来确定初始数据源,即wordcount.txt文件! ?...import java.io.IOException; /** * @Auther: 封茗囧菌 * @Date: 2019/11/11 17:43 * @Description: * 需求:一堆给定文本文件中统计输出每一个单词出现次数..., InterruptedException { /** * 代码 key 是行首字母【偏移量】-->无规律可言,行首字母到所有内容最前端 * value 是一行真正数据...我们本地E盘上,出现了result文件夹 ? 打开进入并用Notepad++ 打开文件查看内容!发现统计结果已经呈现在里面了!说明我们程序运行成功了! ?...思路回顾: 每读取一行数据,MapReduce就会调用一次map方法,map方法我们把每行数据用空格" "分隔成一个数组,遍历数组,把数组一个元素作为key,1作为value

    1.3K10

    MapReduce快速入门系列(2) | 统计输出给定文本文档每一个单词出现次数

    本篇博客,博主给大家带来是MapReduce一个简单实战项目——统计输出给定文本文档每一个单词出现次数进行之前我们先看一下我们数据源: ? ---- 1....创建Maven工程 下面的跟之前使用API一样,我们同样需要在IDEA中使用JAVA代码来书写MapReduce。这时候我们需要新建一个一个Maven工程 1. 创建项目 ? 2....pom.xml文件添加如下依赖 junit...过程梳理: 每读取一行数据,MapReduce就会调用一次map方法,map方法我们把每行数据用空格" "分隔成一个数组,遍历数组,把数组一个元素作为key,1作为value作为map输出传递给...本次分享就到这里了,受益小伙伴们不要忘了点赞加关注呀,下一期博主将为大家继续带来MapReduce如何打包jar包,并在集群上运行博文,敬请期待。

    65450

    C#代码示例:WinForm创建并绑定一个DataTable

    一篇文章,我解释了如何在没有数据库情况下以web形式绑定gridview。这里,我将解释如何在没有数据库windows窗体绑定datagrid。...,很简单,还需要把这些代码添加到一个方法里,并在按钮单击时调用该方法。...这样,我们就可以windows窗体应用程序绑定一个没有数据库datagrid。 对于维护这个datagrid状态,现在用户面临问题是什么。...输入第一次预订详细信息后,当我进行第二次预订时,第一次预订详细信息将会丢失,因此为了防止这种情况发生,您必须稍微修改一下代码。在这里,我已经解释了如何做到这一点。...将行绑定到datagrid时,输入一个条件。首先,检查该数据表是否有数据。如果没有数据,则绑定datagrid列标头,否则只绑定没有datacolumn标头行。

    3.4K40

    计算一个二进制数字1出现次数N种方法

    引言 闲来无事,博客园里看到一篇博客。 如何统计二进制 1 个数 感觉解法非常新颖,分享一下。 2. 最基本思路 这个问题描述起来很简单,一句话,实际上解决起来也很简单。 2.1....针对 python 语言, python2 ,我们可以通过 sys.maxint 获取到上面说“预定位数”最大数字来计算, python3 sys.maxint 更换为了 sys.maxsize...那么基本解决思路有下面几个: 利用 java 语言 >>> 操作,让解释器强制高位补 0 预先定义最大移位次数变量 对负数最高位直接置 0,然后使用上述程序,并在最终将结果加 1 方法 1 是最简单...方法 3 可行,但是如果想要做到就要先获取最高位为 0 其他位均为 1 数字, C/C++ 、java 等语言中,我们可以通过移位操作来实现,但是和上述理由相同,python、php 等语言中仍然是无法实现...高效新颖解法 下面是最巧妙一个方法,基本思路是把一个整数减去1,再和原整数做与运算,会把该整数最右边一个1变成0。 那么一个整数二进制表示中有多少个1,就可以进行多少次这样操作。

    90920

    如何只用 30 行代码 JavaScript 创建一个神经网络

    由 Google Dream 神经网络创建一副奇怪图像 在这篇文章,我将会展示给你如何使用 Synaptic.js 创建并训练一个神经网络,它允许你 Node.js 和浏览器中进行深度学习。...我们将会创建可能是最简单神经网络:解出一个 XOR (异或)方程 。 但是开始我们看代码之前,我们先学习一些神经网络非常基础知识。 神经元和突触 一个神经网络第一块砖是好神经元。...下方圆圈表示一个 S 型函数,他输入是5 ,输出是1 。箭头称为突触,将神经元连接到网络其他层。 ? 所以,为什么是红色5?因为它是连接到神经元三个突触总和,就如左边三个箭头所示。...就像下方图片: ? 神经网络目标是通过训练来来完成概括,就像识别手写数字或垃圾邮件。并且,做一个概括是一个拥有正确权重和偏差问题。就像我们上面的例子蓝色和棕色数字。...后向传播由这行代码完成:myNetwork.propagate(learningRate, [0]), learningRate 是一个常数,告诉网络每次应该调整它权重。

    1.1K30

    如何使用Python查询一个月内出现重复订单?

    一、前言 前几天小小明大佬Python交流群遇到一个粉丝问了一个使用Python实现Excel查询一个月内出现重复订单问题,觉得还挺有用,这里拿出来跟大家一起分享下。...后来还有一个大佬给了一个方法,使用Pandas实现,如下所示: 顺利地解决了粉丝问题。 三、总结 大家好,我是皮皮。...这篇文章主要盘点了一个Python实现Excel筛选数据问题,文中针对该问题,给出了具体解析和代码实现,帮助粉丝顺利解决了问题。...最后感谢粉丝提问,感谢大佬们给出思路和代码解析,感谢【皮皮】等人参与学习交流。...活动方式:本公众号后台文章留言累计300次(PS:一篇文章算留言一次,后台有数据统计,本号有1500余篇文章,欢迎留言支持),满足留言次数也可以免费获得一本赠书,包邮哦!

    78610

    c#datagridview表格动态增加一个按钮方法

    c#datagridview表格动态增加一个按钮方法,如果想要这一套教程可以移步去这里 《期末作业C#实现学生宿舍管理系统》,对了最近我们有一个人工智能交流群,如果大家对代码有问题,想交流可以进群...效果图片 : 第一步: Load事件写入代码 //datagridview添加button按钮 DataGridViewButtonColumn btn = new...别急 我们 dataGridView1_CellContentClick事件添加方法 //点击第一行button按钮事件 int index = dataGridView1...id值 第三步: 相信大家也发现了,我们按钮都能触发,那这样肯定不能区分删除和修改,于是我们给控件命名作用就来了 我们 dataGridView1_CellContentClick事件修改下刚刚代码...这里有一个bug就是第三行没数据需要隐藏,现在还没有解决,欢迎大家指出!

    1.4K30

    2023-05-01:给你一个整数 n , 请你无限整数序列 找出并返回

    2023-05-01:给你一个整数 n ,请你无限整数序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...找出并返回第 n 位上数字。...2.实现函数 findNthDigit,其输入为整数 n,表示要查找数字整数序列位置。根据 under 数组,找到包含第 n 个数字区间长度 len,并返回调用子函数 number 结果。...4. main 函数,定义一个整数变量 n 表示要查找数字整数序列位置,调用 findNthDigit 函数查找第 n 个数字,并输出结果。...时间复杂度和空间复杂度如下:1.findNthDigit 函数循环需要遍历数组 under,时间复杂度为 O(1) 平均时间复杂度为 O(log n);number 函数实现了一个递归结构,每次递归除去常数项时间复杂度为...("{}th digit is {}", n, digit); }}图片c完整代码如下:#include const long under[] = {0L, // 0位数

    41800

    一个apk调用另外一个apkactivity 博客分类: Android小技巧 AndroidCC++C#Web

    intent.putExtra(SearchManager.QUERY,"searchString") startActivity(intent);      Intent.ACTION_WEB_SEARCH是一个字符串...发送出这个intent之后,系统根据action字符串Intent.ACTION_WEB_SEARCH知道了是要调用哪个activity,如果有重名,会弹出一个选择对话框。...首先,写一个activity,AndroidManifest.xml里面的intent-filter,给这个activity命名, <action...安装完毕之后,你会发现,系统找不到这个程序。别急,它确实安装在手机里面了,但是因为他不是main,所以系统不会把他当做Application入口程序。    ...如果要自己实现这种功能,只需要定义好关键字,然后从BundleExtra取就行了。

    92720
    领券