首页 > 技术文章 > 简易的单词计数算法

xkf97 2020-03-25 14:56 原文

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

  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;
      }
    }
    

推荐阅读