| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 697 人关注过本帖
标题:求单词个数
只看楼主 加入收藏
刘林夕
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2011-10-14
结帖率:0
收藏
 问题点数:0 回复次数:5 
求单词个数
统计出一个句子中的单词个数,句子由大小写英文字符和空格及末尾的回车符组成。
#include"stdio.h"
main()
{
    int i,b=0;
    char s[300];
    while(scanf("%s",s)!=EOF)
    {
        for(i=0;s[i]!='\0';i++)
            {
               if(s[i]==' ')
                 b++;
            }
        printf("%d\n",b);
   }
}
各位,能不能帮我看一下哪里出现错误?着实表示能力有限,看不出来?谢谢。。。
搜索更多相关主题的帖子: 单词 统计 include 能力 
2011-11-19 12:56
麦子熟了
Rank: 2
等 级:论坛游民
帖 子:17
专家分:75
注 册:2011-11-18
收藏
得分:0 
scanf();遇到空格就停了,
2011-11-19 13:06
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
用gets()函数

我们都在路上。。。。。
2011-11-19 15:53
cb_1212
Rank: 1
等 级:新手上路
帖 子:126
专家分:5
注 册:2011-4-28
收藏
得分:0 
scanf函数遇到空格、回车停止输入。也就是说你程序读入的只是空格或回车之前的那段字符。。。
2011-11-19 16:18
huhao3225
Rank: 2
来 自:四川成都
等 级:论坛游民
帖 子:39
专家分:25
注 册:2011-11-9
收藏
得分:0 
scanf遇到空格,换行就停止,而gets()会把它们当作字符处理,因此用gets().
2011-11-19 16:25
cb_1212
Rank: 1
等 级:新手上路
帖 子:126
专家分:5
注 册:2011-4-28
收藏
得分:0 
字符串以'\0'为结束标志,你的for循环内的b计算的只是输入的最后一个单词的前面单词的数目。。。敲回车时没执行for循环,最后一个单词没算进去。
程序代码:
#include<stdio.h>
main()
{
    int i,b=0;
    char s[300];
    gets(s);
    for(i=0;s[i]!='\0';i++)
    {
        if(s[i]==' ')
        b++;
    }
    printf("%d\n",b+1);
}
2011-11-19 16:27
快速回复:求单词个数
数据加载中...
 
   



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

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