求解一道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;
}求教哪里错了?编译之后是运行时间过长。 展开
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;
}求教哪里错了?编译之后是运行时间过长。 展开
4个回答
展开全部
记住空格也是字符,你要用\n判断是否是一个单词结束,那也得在你输完单词后加上他,可这就不符合题目要求了!你可以考虑用getline函数即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
while条件中已经从终端输入一个字符了,在while体中不应该再输入ch=getchar()了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ch=getchar();可以删去
这题不能这样做
这题不能这样做
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询