输入一行字符,统计其中有多少个单词,单词之间用空格隔开!高手进来解释下。
输入一行字符,统计其中有多少个单词,单词之间用空格隔开。#include<stdio.h>voidmain(){charstring[81];inti,num=0,wor...
输入一行字符,统计其中有多少个单词,单词之间用空格隔开。
#include<stdio.h>
void main()
{
char string[81];
int i,num=0,word=0;
char c;
gets(string);
for(i=0;(c=string[i])!='\0';i++)\\此处for循环和下面的if和else if语句是按什么顺序执行
的,程序又是怎么判断第一个单词和单词之间有很多空格
的。。。
if(c=='')word=0;
else if(word=0)
{
word=1;
num++;
}
printf("There are %d words in the line.\n",num);
} 展开
#include<stdio.h>
void main()
{
char string[81];
int i,num=0,word=0;
char c;
gets(string);
for(i=0;(c=string[i])!='\0';i++)\\此处for循环和下面的if和else if语句是按什么顺序执行
的,程序又是怎么判断第一个单词和单词之间有很多空格
的。。。
if(c=='')word=0;
else if(word=0)
{
word=1;
num++;
}
printf("There are %d words in the line.\n",num);
} 展开
4个回答
2013-11-25
展开全部
#include<stdio.h>
void main()
{
char string[81]; //定义长度为81
int i,num=0,word=0;
char c;
gets(string); //输入字符串
for(i=0;(string[i])!='\0';i++)//直到字符串的末尾
{
if(string[i]==' ')
word=0; //如果为空格 那么将知道有单词
else if(word==0) //二重判断直到不为空格
{
word=1; //word状态置为1
num++; //累加单词
}
}
printf("There are %d words in the line.\n",num); //输出有几个单词
}
void main()
{
char string[81]; //定义长度为81
int i,num=0,word=0;
char c;
gets(string); //输入字符串
for(i=0;(string[i])!='\0';i++)//直到字符串的末尾
{
if(string[i]==' ')
word=0; //如果为空格 那么将知道有单词
else if(word==0) //二重判断直到不为空格
{
word=1; //word状态置为1
num++; //累加单词
}
}
printf("There are %d words in the line.\n",num); //输出有几个单词
}
2013-11-25
展开全部
字符数组string gets(string)就不用解释了。进入FOR循环,c=string[i]!='\0' 直到字符串结束符 退出循环。循环体:如果c==' ' word=0 说明单词没开始, else word=1;num++;单词开始统计;这里的word理解为开关变量;用c==' '控制是否有单词出现;希望回答你满意;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
引用jbp2a4b1c0659的回答:
#include<stdio.h>
void main()
{
char string[81]; //定义长度为81
int i,num=0,word=0;
char c;
gets(string); //输入字符串
for(i=0;(string[i])!='\0';i++)//直到字符串的末尾
{
if(string[i]==' ')
word=0; //如果为空格 那么将知道有单词
else if(word==0) //二重判断直到不为空格
{
word=1; //word状态置为1
num++; //累加单词
}
}
printf("There are %d words in the line.\n",num); //输出有几个单词
}
#include<stdio.h>
void main()
{
char string[81]; //定义长度为81
int i,num=0,word=0;
char c;
gets(string); //输入字符串
for(i=0;(string[i])!='\0';i++)//直到字符串的末尾
{
if(string[i]==' ')
word=0; //如果为空格 那么将知道有单词
else if(word==0) //二重判断直到不为空格
{
word=1; //word状态置为1
num++; //累加单词
}
}
printf("There are %d words in the line.\n",num); //输出有几个单词
}
展开全部
第一个字母怎么算!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你倒数第七排的else if语句后面,等号少写了一个
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询