C语言程序设计:输入一行字符,统计出其中单词的个数,个单词之间用空格分隔,空格数可以是多个 5

C语言程序设计:输入一行字符,统计出其中单词的个数,个单词之间用空格分隔,空格数可以是多个!... C语言程序设计:输入一行字符,统计出其中单词的个数,个单词之间用空格分隔,空格数可以是多个! 展开
 我来答
qzhao_1
2011-04-25 · TA获得超过2.4万个赞
知道大有可为答主
回答量:2.4万
采纳率:76%
帮助的人:4245万
展开全部
我可以告诉你一个大概思路:将输入的一行字符存入一个字符数组 buffer 中,设置一个循环变量 i,用于控制从第一个字符开始,到最后一个字符结束。再设置一个循环变量 j,用于作为当前字符是否是空格的记录。还要设置一个用于记录单词个数的变量 count = 0 ,如果当前字符不是空格,count 增加 1,如果当前字符是空格,count 就不增加,j ++,在此过程中要设置一个标志 flag = 0,用于控制 count ++ ,即第一次碰到非空格字符时, count ++,然后置 flag =1 ,从第二个非空格字符到下一个空格之间的字符,count 就不增加,你可以照此思路编写程序了。
唔想爱了28
2015-08-17 · 超过12用户采纳过TA的回答
知道答主
回答量:67
采纳率:0%
帮助的人:15万
展开全部
大一上学期学了c语言,这个我也写过,不过我下学期没学,怎么写不太清楚了,但是感觉思路是这样的:比较后一项与前一项,如果当后一项为空格而前一项是字母或者其他字符时,变量+1,当后一项为空格前一项也是空格时候,不变,以此类推。应该要用到数组或者指针吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
heartneo
推荐于2017-11-24
知道答主
回答量:21
采纳率:0%
帮助的人:14.7万
展开全部
楼主请看这里这里 决对好用的程序

#include<stdio.h>
main()
{
char str[20];
int i=0,j,count=0;
printf("请输入要统计的字符以回车结束:\n");
gets(str);
while(str[i++]!='\0')
{
if(str[i]==' ')
{
i++;
while(str[i]==' ')//判断连续空格
{ i++;}
count++;
}
}
printf("单词书为:%d\n",count+1);
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天上的一条龙
2011-04-25 · TA获得超过476个赞
知道小有建树答主
回答量:221
采纳率:0%
帮助的人:202万
展开全部
#include <stdio.h>
void main()
{
int n=1;
char a=getchar(),b;
while(a!='\n')
{
b=a;
a=getchar();
if(b==' ' && a!=' ' && a!='\n') n++;
}
printf("单词数:%d\n",n);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-05
展开全部
代码部分: #include<stdio.h>

int main()
{
int count=0;
char temp;
bool letter;

letter=0;//letter=0为在单词里(单词没输入完成),=1为表示进入下个单词
printf("Input words:");
temp=getchar();
while(temp!='\n')
{
if((letter==1)&&(temp==' '))
{
letter=0;
}
else if((temp>='a'&&temp<='z')||(temp>='A'&&temp<='Z')||(temp>='0'&&temp<='9'))
{
if(letter==0)
{
letter=1;
count++;
}
}

temp=getchar();
}
printf("count: %d\n",count);

return 0;

} 效果图: 【酷_酷_币】为您服务...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式