标题:为什么最后一位输入空格的话就会统计多一个单词呢?应该怎么改……
只看楼主
even_27
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2015-4-28
结帖率:50%
已结贴  问题点数:10 回复次数:2 
为什么最后一位输入空格的话就会统计多一个单词呢?应该怎么改……
目的是统计输入的单词数

#include<stdio.h>
int main(void)
{
    int count,word;
    char ch;
    count=word=0;
    do{
        ch=getchar();
        if(ch==' ')word=0;
        else if(word==0){
            word=1;
            count++;
        }
            
    }while(ch!='\n');


    printf("总共有%d个单词。\n",count);

    return 0;
}
搜索更多相关主题的帖子: 统计 单词 count return 
2015-04-28 20:50
wyw19880809
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:178
专家分:738
注 册:2013-3-14
得分:2 
判断一下读取的空格字符后面跟随的是否是换行符,如果是的话count计数就不要再自加了
2015-04-28 20:59
秦时的明月夜
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:13
帖 子:126
专家分:504
注 册:2013-3-12
得分:8 
楼上+1
程序代码:
#include<stdio.h>
int main(void)
{
    int count,word;
    char ch;
    count=word=0;
    do{
        ch=getchar();
        if(ch=='\n')
         break;
        else if(ch==' ')
         word=0;
        else if(word==0){
            word=1;
            count++;
        }
           
    }while(ch!='\n');


    printf("总共有%d个单词。\n",count);

    return 0;
} 

 
2015-04-28 21:01



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




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

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