题目信息
输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。
思路
单词数=空格数+1。
代码
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char ch[100];
gets(ch);
int word=1,i,num=0;
for(i=0;ch[i]!='\0';i++)
{
if(ch[i]==' ')
{
word=0;
}
else if(word==0)
{
num++;
word=1;
}
}
printf("一共有%d个单词\n",num+1);
return 0;
}
代码分析
if(ch[i]==' ')
{
word=0;
}
else if(word==0)
{
num++;
word=1;
}
以“hello world”为例:
1.遇见第一个空格时,word=0,进入下一次循环
2.ch[i]="w"时,此时word=0,所以num++,word=1重新标记变量(num记录空格数)
3.当最后ch[i]="\0"时(d之后的),结束循环。