如何统计一行字符中有多少个单词

思路分析:单词的数目可以由空格出现的次数决定。连续的若干空格作为出现一次空格,一行开头的空格不统计在内。如果测出一个字符是非空格,而它前面的字符是空格,则表示新的单词开始了,此时将单词计数器累加1。如果当前字符是非空格而其前面的字符也是非空格,则意味着仍然是原来那个单词的继续,计数器不应再累加1。设置一个标识判断前面一个字符是否为空格,将其初始化为0,表示前一个字符是空格。若遇到非空格字符,则将该标识设为1,表示前一个字符是非空格。

代码如下:

#include "stdafx.h"
#define BUFFERSIZE 1024
int main()
{
    char string[BUFFERSIZE];
    int i, count = 0, word = 0;
    char c;
    gets_s(string);
    for (int i = 0; (c = string[i]) != '\0'; i++)
    {
        if (c == ' ')
            word = 0;
        else if (word == 0)
        {
            word = 1;
            count++;
        }
    }
    printf("一共有%d个\n", count);
    getchar();
    return 0;
}

    效果如图:

posted @ 2014-03-19 22:29  源子陌  Views(997)  Comments(0Edit  收藏  举报