求解一道C语言题目

【问题描述】输入一行字符,统计其中单词的个数。各单词之间用空格分隔,空格数可以是多个。【输入形式】从键盘输入一行字符。【输出形式】输出单词的个... 【问题描述】输入一行字符,统计其中单词的个数。各单词之间用空格分隔,空格数可以是多个。【输入形式】从键盘输入一行字符。【输出形式】输出单词的个数。【样例输入1】(下划线部分为键盘输入,其余部分为程序输出)Input words: Let’s go to room 209.【样例输出1】count=5我的答案:#include<stdio.h>
int main(void)
{
int count=0;
char ch;
printf("Input words: ");
while((ch=getchar())!='\n')
{
ch=getchar();
if(ch==' ')
count++;
}
printf("count=%d",count+1);
return 0;
}求教哪里错了?编译之后是运行时间过长。
展开
 我来答
百度网友f3b3e02
2013-05-03 · TA获得超过2156个赞
知道小有建树答主
回答量:821
采纳率:90%
帮助的人:585万
展开全部
#include<stdio.h>
int main(void)
{
int count=0;
char ch;
printf("Input words: ");
while((ch=getchar())!='\n')
{
//ch=getchar();去掉此语句,不然会对偶数字符进行判断。
if(ch==' ')
count++;
}
printf("count=%d",count+1);
return 0;
}
我爱李春霞123
2013-05-03 · 超过22用户采纳过TA的回答
知道答主
回答量:213
采纳率:0%
帮助的人:80.8万
展开全部
记住空格也是字符,你要用\n判断是否是一个单词结束,那也得在你输完单词后加上他,可这就不符合题目要求了!你可以考虑用getline函数即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
crazy翎
2013-05-03
知道答主
回答量:33
采纳率:0%
帮助的人:12.8万
展开全部
while条件中已经从终端输入一个字符了,在while体中不应该再输入ch=getchar()了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
AS张康健
2013-05-03
知道答主
回答量:52
采纳率:0%
帮助的人:21.5万
展开全部
ch=getchar();可以删去

这题不能这样做
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式