zoukankan      html  css  js  c++  java
  • 【C语言程序设计】C语言统计单词个数,单词个数算法

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

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

    算法思想

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

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

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

    程序代码

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

    调试运行结果

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

    输入一行字符:

    I Love China

    总共有 3 个单词

    输入一行字符:

    I Love Peking University

    总共有 4 个单词

    总结

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


     

    最后,不管你是转行也好,初学也罢,进阶也可,如果你想学编程~

    【值得关注】我的 C/C++编程学习交流俱乐部【点击进入】

    问题答疑,学习交流,技术探讨,还有超多编程资源大全,零基础的视频也超棒~

  • 相关阅读:
    cookies和re
    2018福大软工实践-第一次作业之自我介绍
    2018福大软工实践-第一次作业
    Linux shell脚本编程
    课程第八次作业
    课程第七次作业
    课程第六次作业
    课程第五次作业
    四则运算课程第四次作业
    第三次课程作业
  • 原文地址:https://www.cnblogs.com/huya-edu/p/14441328.html
Copyright © 2011-2022 走看看