简易的单词计数算法
要求:输入一段文本,用特殊符号|
表示文本的结束,统计出其中的单词数量
-
给出一个单词的定义:从第一个非空白字符开始到遇到下一个空白字符
-
具体实现要点:
-
用一个标志位inword在单词的开始和结束处变化,inword值为1表示单词未结束,值为0表示遇到空白字符单词结束,其初值为0
-
当前字符不是空白字符并且上一个单词已经结束时,计数+1,同时将标志位置为1,表示单词开始
当前字符为空白字符并且单词未结束时,将标志位置为0,表示单词结束
-
-
代码实现
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; } }