标题:关于单词记数
取消只看楼主
执C不悟
Rank: 1
等 级:新手上路
帖 子:14
专家分:9
注 册:2010-6-19
结帖率:100%
已结贴  问题点数:10 回复次数:2 
关于单词记数
#include <stdio.h>

#define IN 1    //在单词内
#define OUT 0    //在单词外

//统计输入的单词数
main( )
{   
    int c, nw, state;
   
    state = OUT;
    nw = 0;
    while ((c=getchar( )) != EOF)
    {
        if (' ' == c || '\n' == c || '\t' == c)
            state = OUT;
        else if (OUT == state)
        {
            state = IN;
            nw++;
        }
    }
    printf("%d\n",nw);
}

程序目的是统计输入的单词数,在书上抄下来的,请高手帮我看下这个程序是不是错了.


[ 本帖最后由 执C不悟 于 2010-10-9 22:31 编辑 ]
搜索更多相关主题的帖子: 单词 记数 
2010-10-09 21:43
执C不悟
Rank: 1
等 级:新手上路
帖 子:14
专家分:9
注 册:2010-6-19
得分:0 
以下是引用御坂美琴在2010-10-9 21:48:14的发言:

看着觉得没有错,基本的状态机写法
输入的时候会不会有这种情况,空格或制表几个连起来的时候

比如:khadsfkj                    oiuowejr

上面的空格有好多个,这程序可以判断吗
2010-10-09 21:54
执C不悟
Rank: 1
等 级:新手上路
帖 子:14
专家分:9
注 册:2010-6-19
得分:0 
唉,我知道问题所在了,
就是不太明白if-else和if-else if-else语句,
它们是不是只要条件一满足就执行他后面的语句,其他的都不判断,就直接结束if-else if-else语句了.
也就是说有且仅有一条语句被执行
2010-10-09 22:10



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-322388-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.739732 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved