C语言进阶:[14]统计单词个数

2025-05-11 00:34:49

对一段英文文章进行单词统计,如果刚接触这样的问题,感觉比较棘手。要把问题分解开,

每一个小问题解决了,然后进行归并,大问题也就解决了。首先单词是以字符开始,并且连续邗锒凳审个字符,直到下一个字符不是字符结束,并且这个字符不能是数字字符。核心问题就是找出一个单词。

查找单词的代码如下:

C语言进阶:[14]统计单词个数

首先查询到第一字符,有可能是单词,然后连续查找字符,直到遇到第一个不是字符的字符,并且这个字符在本编程中是空字符和标点符号,还得考虑遇到字符串结束符\0。在代码中难得部分是字符串指针的处理即返回的是下一个可能是单词的查找开始位置。例如

h e l l o 空格w o r l d

0 1 2 3 4 5 6 7 8 9 10

第一次查找,i值指向了空格即i=5,传过来的索引j指向h,即索引为0,那么结果j应该指向空格即j=5,表达式为j= j+ (i-(e的索引)1 + 1(数量差一)) = j+ i。主程序代码是:

C语言进阶:[14]统计单词个数

主程序主要是调用单词查找函数,每次更新索引值,直到字符串查找完毕。

结果如下:

C语言进阶:[14]统计单词个数

该程序的缺点是没有统计单词的开始和结束位置。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢