习题6-8 统计一行文本的单词个数 (15分)

本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。

输入格式:
输入给出一行字符。

输出格式:
在一行中输出单词个数。

输入样例:
Let’s go to room 209.

输出样例:
5
一开始想到的是用while(1)遇到回车break,写了很多,又长又臭还死循环了。后来想到直接一次性输入完在for里面跑,因为字符串最后末尾的字符有结束符“\0”所以可以在for里面不等于"\0",也可以直接获取字符串长度。之后就是按照题目意思去写了。

#include 
int main()
{
    char s[10000],c;
    int num=0,flag=0;
    gets(s);
    for(int i=0;(c=s[i])!='\0';i++)
    {
        if(c==' ')
        {
            flag=0;
        }
        else if(flag==0)
        {
            flag=1;
            num++; 
        } 
    } 
    printf("%d\n",num);
    return 0;
}

你可能感兴趣的:(习题6-8 统计一行文本的单词个数 (15分))