题目内容
I have a book(回车)
输入一行字符,统计其中单词的个数,单词之间用空格间隔
解题思路
如果当前字符是字符,而他的前一个字符是空格,那么可以看成增加了一个新单词
1.先设置标记位flag=0(flag为0表示是空格,flag为1表示是字符)
2.判断当前是否是空格,如果是,将flag置为0,如果不是空格,则说明当前是字符
3.当前是字符,那么判断当前的flag是否为0,如果为0,说明上一个字符是空格,此时单词数+1,flag设置成1.
解题流程图
代码
#include<stdio.h>
int main(){
char str[50];
int i=0,num=0,flag=0;
gets(str);
for(i=0;str[i]!='\0';i++){
if(str[i]==' ')
flag=0;
else{
if(flag==0)
{
num++;
flag=1;
}
}
}
printf("%d\n",num);
}