| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 981 人关注过本帖
标题:是谭浩强错了还是怎么回事(求教)
只看楼主 加入收藏
drift
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2006-8-15
收藏
 问题点数:0 回复次数:11 
是谭浩强错了还是怎么回事(求教)

#include <stdio.h>
void main()
{
char string[81];
int i,num=0,word=0;
char c;
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 line.\n",num);
getch();
}

大家看看这个程序
是要输入一行字符,输出单词的个数(单词间用空格分开)
这是书上的一道例题
我把他的程序打上后
不管打什么句子输出都是there are 1 word in the line

搜索更多相关主题的帖子: 谭浩强 
2006-09-18 18:40
顶你个肺哦
Rank: 1
等 级:新手上路
威 望:1
帖 子:123
专家分:0
注 册:2006-9-10
收藏
得分:0 
It's your false

main()                     {......}
2006-09-18 18:52
cordier
Rank: 2
等 级:论坛游民
威 望:1
帖 子:449
专家分:14
注 册:2006-2-9
收藏
得分:0 
你用gets()的问题。

2006-09-18 19:07
baidu
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:3811
专家分:0
注 册:2005-11-4
收藏
得分:0 
if(c==' ') word=0;

偶放弃所有文章版权,偶在BCCN论坛任何贴子,可转贴,可散发,可抄袭,可复制,可被冒名顶替,可被任何人引用到任何文章中且不写出引文出处,偶分文不取。
2006-09-18 19:09
zzc0816
Rank: 1
等 级:新手上路
帖 子:61
专家分:7
注 册:2006-9-14
收藏
得分:0 
以下是引用drift在2006-9-18 18:40:55的发言:

#include <stdio.h>
void main()
{
char string[81];
int i,num=0,word=0;
char c;
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 line.\n",num);
getch();
}

大家看看这个程序
是要输入一行字符,输出单词的个数(单词间用空格分开)
这是书上的一道例题
我把他的程序打上后
不管打什么句子输出都是there are 1 word in the line

好像你这里的GETCH()有问题吧。

[此贴子已经被作者于2006-9-18 21:21:30编辑过]


2006-09-18 19:22
xiaogangreal
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-9-18
收藏
得分:0 

运行以后没有结果!!晕!

2006-09-18 19:48
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 
#include <stdio.h>
void main()
{
char string[81];
int i,num=0,word=0;
char c;
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 line.\n",num);
getch();
}
这个题上跟本就没有输出吗~

羊肉串 葡萄干 哈密瓜!!
2006-09-18 20:57
zzc0816
Rank: 1
等 级:新手上路
帖 子:61
专家分:7
注 册:2006-9-14
收藏
得分:0 
以下是引用drift在2006-9-18 18:40:55的发言:

#include <stdio.h>
void main()
{
char string[81];
int i,num=0,word=0;
char c;
gets(string);
for(i=0;(c=string[i])!='\0';i++)
if(c=='') word=0; if(c==' ') 加空格!你这里没有加空格!
else if (word==0)
{
word=1;
num++;
}
printf("there are %d words in the line.\n",num);
getch(); 我想你这里的getch()加了也可以!
}

下面是我按照你的意思写了个,我看运行结果没有错误哦!

#include <stdio.h>
main()
{
char string[81];
int i,num=0,word=0;
char c;
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 line.\n",num);
getch();
}

[此贴子已经被作者于2006-9-18 21:20:24编辑过]


2006-09-18 21:10
xueer
Rank: 1
等 级:新手上路
威 望:1
帖 子:511
专家分:0
注 册:2004-10-8
收藏
得分:0 
4楼说的很清楚了, getch();语句是用win-tc编写时候用的 

2006-09-18 21:18
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 

我晕啊 我还以为是 输入lovemelogin 然后输出3呢
着个简单啊 我喜欢啊
#include"stdio.h"
#include"string.h"
main()
{
int a,c=0;
char b[30];
gets(b);
b[strlen(b)]='0';
for(a=0;b[a];a++)
if(b[a]==' ')
c++;
printf("%d",c);
}


羊肉串 葡萄干 哈密瓜!!
2006-09-18 21:58
快速回复:是谭浩强错了还是怎么回事(求教)
数据加载中...
 
   



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

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