要求:输入一段文本,用特殊符号|表示文本的结束,统计出其中的单词数量
给出一个单词的定义:从第一个非空白字符开始到遇到下一个空白字符
具体实现要点:
用一个标志位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;
}
}
原文:https://www.cnblogs.com/xkf97/p/12566291.html