简易的单词计数算法

要求:输入一段文本,用特殊符号|表示文本的结束,统计出其中的单词数量

  1. 给出一个单词的定义:从第一个非空白字符开始到遇到下一个空白字符

  2. 具体实现要点:

    • 用一个标志位inword在单词的开始和结束处变化,inword值为1表示单词未结束,值为0表示遇到空白字符单词结束,其初值为0

    • 当前字符不是空白字符并且上一个单词已经结束时,计数+1,同时将标志位置为1,表示单词开始

      当前字符为空白字符并且单词未结束时,将标志位置为0,表示单词结束

  3. 代码实现

    int n_words = 0;//表示单词的数量
    int inword = 0; //标志位
    char ch;        //当前字符
    while((ch=getchar())!='|'){
    	if(!isspace(ch) && !inword){
        n_words++;
        inword = 1;
      }
      if(isspace(ch) && inword){
        inword = 0;
      }
    }
    
posted @ 2020-03-25 14:56  咸鱼不闲咋整啊  阅读(433)  评论(0编辑  收藏  举报