正文

[058] 统计字符串中单词个数2006-05-24 12:45:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/wentao/14778.html

分享到:

《C程序设计(第二版)》 (谭)


字符数组练习: 输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。

思路:
    程序中用i作循环变量, num统计单词个数, word作为判别是否是单词的标志,若word = 0 表示未出现单词, 如出现单词word置1。
    单词数目可由空格出现次数决定(连续若干空格作为出现一次空格;一行开头的空格不统计在内).如果测出某一个字符为非空格,而其前面的字符是空格,则表示"新单词开始",此时单词数num累加1.如果当前字符为非空格而其前面的字符也是非空格,则意味着仍是原来的单词的继续,num不累加.前面一个字符是否空格可以从word值分析,若word=0,则表示前一个字符是空格;如果word = 1,意味着前一个字符为非空格。


#include <stdio.h>
int main()
{
    char string[81];
    int i;
    int num = 0;  /* 统计单词个数 */
    int 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("\nThere are %d words int the line.\n", num);
    return 0;
}

运行结果(VC):
================================================
I am a boy.↙

There are 4 words int the line.
================================================

阅读(7899) | 评论(5)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册