c语言编程问题,求大神相助

输入一行字符串,统计其中有多少个单词,单词用空格分开。要求:使用flag作为空格的标志,只有在flag为0的情况下,出现非空格字符,单词数才能+1。... 输入一行字符串,统计其中有多少个单词,单词用空格分开。
要求:使用flag作为空格的标志,只有在flag为0的情况下,出现非空格字符,单词数才能+1。
展开
 我来答
liu8021203
2012-04-23 · TA获得超过1.1万个赞
知道答主
回答量:21
采纳率:0%
帮助的人:5.2万
展开全部
#include<stdio.h>
main()
{
char a[100];
int i,x=0,flag; /*x代表单词数*/
gets(a);
for(i=0;a[i]!='\0';i++)
{
if(a[i]==' ') flag=1;
else flag=0;
if(flag==1) ++x;
}
printf("x=%d\n",x);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
武荆轲
2012-04-23 · TA获得超过1026个赞
知道小有建树答主
回答量:648
采纳率:0%
帮助的人:297万
展开全部
#include "stdio.h"
main()
{
char s[81],c;
int i,num=0,flag=0;
printf("请输入一行英文:\n");
gets(s);
for(i=0;(c=s[i])!='\0';i++)
if(c==' ') flag=0;
else if(flag==0)
{
flag=1;
num++;
}
printf("本行中共有%d个单词.\n",num);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Clor001
2012-04-23 · TA获得超过803个赞
知道小有建树答主
回答量:399
采纳率:0%
帮助的人:378万
展开全部
#include <stdio.h>
#define MAX_SIZE (100)

void fun(char* str);

int main(void)
{
char str[MAX_SIZE] = {0};
puts("输入字符串");
gets(str);
fun(str);

return 0;
}

void fun(char* str)
{
char* p = str;
int flag = 1, count = 0;
for(; *p != '\0'; ++p)
{
if(*p == ' ' && *(p+1) != ' ')
flag = 1;
if(flag)
{
count++;
flag = 0;
}
}
printf("%d\n",count);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chen_rong_hua
2012-04-23 · 超过54用户采纳过TA的回答
知道小有建树答主
回答量:251
采纳率:0%
帮助的人:90.2万
展开全部
书上有
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式