标题:统计单词个数的题目,各位高手,看我哪儿出问题了
只看楼主
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
结帖率:84.38%
已结贴  问题点数:20 回复次数:15 
统计单词个数的题目,各位高手,看我哪儿出问题了
#include"stdio.h"
main()
{
int num=0,word=0;
char c;
while(c=getchar() != "\n")
 if(c=" ")
  if(word==1)
    word=0;
 else if(word==0)
        num++;
        word=1;
printf("%d",num);
}

[ 本帖最后由 a271885843 于 2011-11-25 01:34 编辑 ]
搜索更多相关主题的帖子: word include 统计 单词 
2011-11-24 23:44
yingzijuntua
Rank: 2
等 级:论坛游民
帖 子:7
专家分:10
注 册:2011-11-23
得分:3 
没看懂,楼主还是把思路说一下吧,,,,,
2011-11-24 23:55
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
得分:3 
回复 楼主 a271885843
else if(word==0)        
{
    num++;        
    word=0;
}

总有那身价贱的人给作业贴回复完整的代码
2011-11-24 23:58
duanlt8
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:70
专家分:107
注 册:2011-9-15
得分:3 
while(c=getchar() != "\0")
if(c=" ")
这两步的类型都不一样
2011-11-25 00:31
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
得分:0 
#include"stdio.h"
main()
{
int num=0,word=0,c;
while(c=getchar() != "\n")/*屏幕输入字符,当不是回车“\n”的时候,执行下面的语句*/
if(c==" ") /*如果是空格*/
  if(word==1)/*如果单词状态是1,1统计一个单词,0是没有,这里是单词状态*/
    word=0;/*把状态置0*/
else if(word==0)/*如果不是空格,else if单词状态为0,那就是出现单词了,而且不是统计连续字符*/
        num++;
        word=1;
printf("%d\n",num);
}


不好意思,我发错了,这才是我刚才的题目内容,我的意思是在编译C-FREE 5里,进入控制台,运行之后,输入一段字符串,回车没出结果




[ 本帖最后由 a271885843 于 2011-11-25 01:15 编辑 ]

认为事物非黑即白是缺智慧的表现……
2011-11-25 00:56
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
得分:0 
回复 4楼 duanlt8
什么类型不一样,我没明白啊

认为事物非黑即白是缺智慧的表现……
2011-11-25 01:08
luchar
Rank: 9Rank: 9Rank: 9
来 自:南京
等 级:蜘蛛侠
帖 子:279
专家分:1263
注 册:2011-11-3
得分:3 
c=getchar()这个是接受一个字符的,你的是要输入一个字符串,再统计字符串中的空格数量,进而统计单词个数的
所以要用数组来存放字符串,再从该字符串中逐个查找空格。
程序代码:
#include"stdio.h"
main()
{
    int num=1,i;
    char c[300];
    gets(c);
    for(i=0;c[i]!='\0';i++)
        if(c[i]==' ')  
            num++;
    printf("%d\n",num);
}
2011-11-25 04:10
随风飘荡
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:208
专家分:598
注 册:2011-9-9
得分:3 
嗯,单词统计我也做不好
程序代码:
#include"stdio.h"
main()
{
int num=0,word=0,c;
while(c=getchar() != "\n")/*屏幕输入字符,当不是回车“\n”的时候,执行下面的语句*/                   //    '\n' 不是"\n" 这就成字符串了吧?,然后就死循环了......
    if(c==" ") /*如果是空格*/                                                                      //**  ' ' 或者用 c==32
      if(word==1)/*如果单词状态是1,1统计一个单词,0是没有,这里是单词状态*/
        word=0;/*把状态置0*/                                                                     
    else if(word==0)/*如果不是空格,else if单词状态为0,那就是出现单词了,而且不是统计连续字符*/ //没有花括号只能控制一条语句哦!
        {
            num++;
            word=1;
        }
printf("%d\n",num);
}

2011-11-25 07:32
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
得分:0 
网上找了一个更简单的。
#include "stdio.h"
int main()
{
char ch, temp = ' ';
int i = 0;
ch = getchar();
while( ch != '\n')
{
if(ch == ' ' && temp != ' ')
i++;
temp = ch;
ch = getchar();
}
if(temp != ' ')
i++;
printf("%d\n",i);
return 0;
}


认为事物非黑即白是缺智慧的表现……
2011-11-25 07:50
飞扬冲天
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:86
专家分:122
注 册:2011-10-21
得分:3 
这里:
if(c=" ")
 
        if(word==1)

             word=0;

你可以把中间那个if语句去掉。
2011-11-25 09:31



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




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

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