解题思路:
<span style="white-space:pre"> </span>关键:如何确定出现一个新单词
<span style="white-space:pre"> </span>方法:从第一个字符逐个进行检查,推断此字符是否为新单词的开头。假设是num+1,最后num的值就是单词总数
推断是否出现新单词,能够由是否由空格出现来决定(连续若干个空格作为出现一次空格,一行的开头空格不统计在内),若出现某个字符为非空格,而它前面的字符是空格,则表示新单词開始,此时num+1。假设当前字符为非空格。前面的字符也是非空格,则表示还是原来的单词,num不用加1
#include<stdio.h>
int main()
{
char string[100];
int i,num=0,word=0;
char c;
gets(string);
for(i=0;(c=string[i])!='\0';i++)
if(c==' ')
word = 0;
else if(word==0)
{
word = 1;
num++;
}
printf("There are %d words in this line:\n",num);
return 0;
}