标题:大家新年好,我有点小问题了。统计单词个数的
只看楼主
zxd675816777
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:252
专家分:631
注 册:2012-2-3
得分:5 
回复 10楼 beyondyf
额。。。好吧,我看也许大概可能已经伤到了。。。

数学好难!
2012-02-07 22:16
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
得分:0 
以下是引用missu_1314在2012-2-7 22:01:09的发言:

#include
#include

main()

{
 char a[300];
 int i;

 printf("please input:\n");
 scanf("%s", a);
 
 for (i=0; ; i++)
 {
  if ( a == '\0' )
  break;
 }
 printf("the numbers of  string is: %d", i);
 getch();
}


试试这个!
问题找着了,是数组a没定义,应该是word[i]眼神不好,没看清楚,不过我那个算法有点问题,统计出来数字不准确。之前写个这个小程序,我觉得算法比较好,所以就偶尔就写写。你这个算法貌似也有问题。


#include "stdio.h"
int main(void)
{
    char ch;
    int i=0;                    //i=0,表示在单词外面,i=1表示在单词里面。
    int words=0;
    while ((ch = getchar())!='\n')
    {
        if (ch==' ')
           i=0;                 //因为是空格,所以在单词外面,i要置为0。
        else if (i==0)          //不是空格,但i为零在单词外面了,所以到了一个单词结尾。
        {
            words++;            //单词数加1。
            i=1;                //在单词里面所以i=1.
        }
    }

    printf("you input %d words.\n",words);

    return 0;
}
这个就没问题

[ 本帖最后由 a271885843 于 2012-2-7 22:21 编辑 ]

认为事物非黑即白是缺智慧的表现……
2012-02-07 22:17
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
得分:0 
以下是引用beyondyf在2012-2-7 22:11:16的发言:

我这人性子很直,我不想伤害你
没事的,我这人很乐观的,只是说实话,对于这些东西,我也很矛盾,就当打发无聊的时间的了,总觉得这样比蹲在那里拿着手机看小说强点,至于有无潜力能力,无所谓了,不过这差距确实太大了。

认为事物非黑即白是缺智慧的表现……
2012-02-07 22:20
zxd675816777
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:252
专家分:631
注 册:2012-2-3
得分:0 
回复 楼主 a271885843
楼主,你好啊,我也是刚接触的c语言,我给你弄了一个可以简单解决的,不过为了省时间,没有考虑一些可能造成的错误(如第一个输入为空格、输入为数字的报错等),希望能帮到你额,如果楼主能给出改进当然是最好。下面是我敲的几行代码哈。。。
#include<stdio.h>
int main(void)
{
char c;
int count=0;
while((c=getchar())!='\n')
{
if(c==' ')
count++;
}
printf("The sum is %d",++count);
return 0;
}

数学好难!
2012-02-07 22:28
missu_1314
Rank: 2
等 级:论坛游民
帖 子:46
专家分:98
注 册:2010-9-8
得分:0 
以下是引用a271885843在2012-2-7 22:17:55的发言:

问题找着了,是数组a没定义,应该是word眼神不好,没看清楚,不过我那个算法有点问题,统计出来数字不准确。之前写个这个小程序,我觉得算法比较好,所以就偶尔就写写。你这个算法貌似也有问题。
我编译运行过的,没发现问题,你说得问题是什么问题啊?    哦,我看到了,你复制代码里面掉了 2个头文件

[ 本帖最后由 missu_1314 于 2012-2-7 22:32 编辑 ]
2012-02-07 22:29
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
得分:0 
以下是引用zxd675816777在2012-2-7 22:28:26的发言:

楼主,你好啊,我也是刚接触的c语言,我给你弄了一个可以简单解决的,不过为了省时间,没有考虑一些可能造成的错误(如第一个输入为空格、输入为数字的报错等),希望能帮到你额,如果楼主能给出改进当然是最好。下面是我敲的几行代码哈。。。
#include
int main(void)
{
char c;
int count=0;
while((c=getchar())!='\n')
{
if(c==' ')
count++;
}
printf("The sum is %d",++count);
return 0;
}
你这是统计空格数量的吧?哥们。那是统计单词的。

认为事物非黑即白是缺智慧的表现……
2012-02-07 22:30
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
得分:0 
以下是引用missu_1314在2012-2-7 22:29:40的发言:

我编译运行过的,没发现问题,你说得问题是什么问题啊?    哦,我看到了,你复制代码里面掉了 2个头文件

有时候是正确的,有时候是错的。

认为事物非黑即白是缺智慧的表现……
2012-02-07 22:34
zxd675816777
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:252
专家分:631
注 册:2012-2-3
得分:0 
回复 16楼 a271885843
嘿嘿,如果要测单词的话只要稍微改变下量就好了额,不过那个可以达到相同的效果哦,不过要考虑用户的可能的输入错误,那样的话就很多咯,就简单写了一下,没帮上忙,不好意思哈

数学好难!
2012-02-07 22:36
missu_1314
Rank: 2
等 级:论坛游民
帖 子:46
专家分:98
注 册:2010-9-8
得分:0 
哦,原来我没考虑到加空格   要改下
2012-02-07 22:36
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
得分:0 
没事的

认为事物非黑即白是缺智慧的表现……
2012-02-07 22:48



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




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

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