C语言统计单词个数,单词个数算法

互联网 2021/9/18 22:34:47

在实际生活中经常会遇到一个问题:写英语作文时,常常要求满足一定的字数。在以往,要么我们一个一个地数;要么我们估算一行的单词数,然后用行数进行估算。 第一种方法太费时,若是长篇大论,那几乎是不可能统计的;而第二种方法不太准确。这就给我们留下了一个问题:如…

在实际生活中经常会遇到一个问题:写英语作文时,常常要求满足一定的字数。在以往,要么我们一个一个地数;要么我们估算一行的单词数,然后用行数进行估算。

第一种方法太费时,若是长篇大论,那几乎是不可能统计的;而第二种方法不太准确。这就给我们留下了一个问题:如何又快、又准确地统计一篇英文文章中的单词数?

算法思想

要解决这个问题,最自然的算法是,读取文章的所有内容,然后一个单词一个单词地统计,然而,我们在这里遇到了一个难题:程序看不懂英文,如何知道什么是一个单词,什么不是一个单词呢?似乎在这里遇到了障碍,可是,如果换个角度思考问题,也许会柳暗花明又一村:文章中的单词都是用空格间隔开的,换句话说,单词数=空格数+1。

程序不认识单词,但是程序认识空格啊!这样,整个问题实际上转换成了统计文章中的空格数。

有了这样的问题转换思路,整个问题就简单多了。可以先按照这个思路自己实现,也可以直接看下面的代码实现。

程序代码

#include <stdio.h>
int main()
{
    printf("输入一行字符:\n");
    char ch;
    int i,count=0,word=0;
    while((ch=getchar())!='\n')
        if(ch==' ')
            word=0;
        else if(word==0)
        {
            word=1;
            count++;
        }
    printf("总共有 %d 个单词\n",count);
    return 0;
}

调试运行结果

根据程序提示,分别输入“I love China”和“I love Xichang College”两个字符串代码, 程序统计单词后输出结果分别如下所示:

输入一行字符:
I Love China
总共有 3 个单词

总结

本实例展示了如何对字符数组进行操作,类型为字符型的数组称为字符数组,C 语言中没有专门的字符串变量,但是有字符数组串常量,所以字符串常量的存储是通过对字符数组的操作来完成的。

随时随地学软件编程-关注百度小程序和微信小程序
关于找一找教程网

本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。
本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。
[C语言统计单词个数,单词个数算法]http://www.zyiz.net/tech/detail-230016.html

上一篇:【算法检验】StepM和MSC

下一篇:C-按八进制输出数

赞(0)
关注微信小程序
程序员编程王-随时随地学编程

扫描二维码或查找【程序员编程王】

可以随时随地学编程啦!

技术文章导航 更多>
扫一扫关注最新编程教程