| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1475 人关注过本帖
标题:统计单词个数的程序,询问下错误
只看楼主 加入收藏
webtonny
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-4-19
收藏
 问题点数:0 回复次数:6 
统计单词个数的程序,询问下错误
#define N 81
#include "stdio.h"
void main()
{
  char string[N];
  char c;
  int i;
  int num=0,word=0;
  gets(string);
  for(i=0;(c=string[i]!='\0');i++)
  {  
    if(c==' ')
    word=0;
    else if(word==0)
    {
      word=1;
      num++;
    }
  }
  printf("There are %d words in the Array String",num);
}

num始终输出1....
搜索更多相关主题的帖子: 单词 询问 统计 
2008-04-21 21:49
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
(c=string[i])!='\0'

学习需要安静。。海盗要重新来过。。
2008-04-21 22:01
中学者
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:3554
专家分:80
注 册:2007-9-14
收藏
得分:0 
程序代码:
#include<stdio.h>
#define N 81
int main(void)
{
   char string[N];
   char *pst;
   int count = 0;
   gets(string);
   for(pst = string;*pst!=0;pst++)
        if(*pst!=' ') ++count;
   printf("%d\n",count);
  return 0;
}      

樱花大战,  有爱.
2008-04-21 22:04
webtonny
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-4-19
收藏
得分:0 
[bo]以下是引用 [un]中学者[/un] 在 2008-4-21 22:04 的发言:[/bo]


#include
#define N 81
int main(void)
{
   char string[N];
   char *pst;
   int count = 0;
   gets(string);
   for(pst = string;*pst!=0;pst++)
        if(*pst!=' ') ++count;
   printf("%d\n",count);
  ...


这个代码不是原意,这个是输出字母的个数不是单词个数的。
2008-04-21 23:24
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
c=string[i]!='\0'
一般不要这样写,加括号吧,(c=string[i])!='\0'.
那样写的问题是:判断string[i]!='\0'然后把结果赋值给c.那么c只是0或1.由于开始的时候word==0;所以执行word=1..后面再也不运行了..所以是1...

学习需要安静。。海盗要重新来过。。
2008-04-21 23:35
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
程序代码:
/********************************************************
    根据LZ的程序改的,如果没有标点符号,计算正确。
    明天如果有时间,作个标点符号的程序。
    呵呵,希望这是LZ希望的程序。欢迎测试。
**********************************************************/
#define N 81
#include "stdio.h"
void main()
{
  char string[N];
  int i;
  int num=0;
  gets(string);
  for(i=0;string[i]!='\0';i++) /* 循环条件为字符数组不为休止符 */
  {  
    if(string[i]==' ')        /* 如果遇到空格,说明一个单词结束,计数器加1 */
            num++;
  }
  printf("There are %d words in the Array String",num+1);/* 由于最后一个单词无法计算,所以计数器加1为
                                                            真正的单词个数*/

  getch();
}
2008-04-22 00:17
中学者
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:3554
专家分:80
注 册:2007-9-14
收藏
得分:0 
LS的代码也有问题呢~~无法处理连续空格的情况..

樱花大战,  有爱.
2008-04-22 16:55
快速回复:统计单词个数的程序,询问下错误
数据加载中...
 
   



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

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