c语言编程问题,求大神相助
输入一行字符串,统计其中有多少个单词,单词用空格分开。要求:使用flag作为空格的标志,只有在flag为0的情况下,出现非空格字符,单词数才能+1。...
输入一行字符串,统计其中有多少个单词,单词用空格分开。
要求:使用flag作为空格的标志,只有在flag为0的情况下,出现非空格字符,单词数才能+1。 展开
要求:使用flag作为空格的标志,只有在flag为0的情况下,出现非空格字符,单词数才能+1。 展开
4个回答
展开全部
#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);
}
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);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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);
}
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);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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);
}
#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);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
书上有
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询