c语言:输入一行字符,统计其中的单词个数,单词之间用空格分开#includevoid main(){int i,c,num=0,word=0;char str[40];gets(str);for(i=0;c=(str[i])!='\0';i++)if(c==" ") word=0;else if(c==word){word=1;num++;}printf("%d\n",num);}程

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/04 22:06:22
c语言:输入一行字符,统计其中的单词个数,单词之间用空格分开#includevoid main(){int i,c,num=0,word=0;char str[40];gets(str);for(i=0;c=(str[i])!='\0';i++)if(c==

c语言:输入一行字符,统计其中的单词个数,单词之间用空格分开#includevoid main(){int i,c,num=0,word=0;char str[40];gets(str);for(i=0;c=(str[i])!='\0';i++)if(c==" ") word=0;else if(c==word){word=1;num++;}printf("%d\n",num);}程
c语言:输入一行字符,统计其中的单词个数,单词之间用空格分开
#include
void main()
{
int i,c,num=0,word=0;
char str[40];
gets(str);
for(i=0;c=(str[i])!='\0';i++)
if(c==" ") word=0;
else if(c==word)
{
word=1;
num++;
}
printf("%d\n",num);
}
程序如何修改?

c语言:输入一行字符,统计其中的单词个数,单词之间用空格分开#includevoid main(){int i,c,num=0,word=0;char str[40];gets(str);for(i=0;c=(str[i])!='\0';i++)if(c==" ") word=0;else if(c==word){word=1;num++;}printf("%d\n",num);}程
这两个我测试过,符合你的问题
一个是数组,一个是指针,选用指针好些.
#include
int main()
{
int num = 0,word = 0,i = 0;
char str[40];
gets(str);
while(str[i] != '\0')
{
if(str[i] == ' ')
{
word = 0;
}
else
{
if(0 == word)
{
num++;
word = 1;
}
else
{
word = 1;
}
}
i++;
}
printf("%d\n",num);
return 0;
}
#include
#include
int main()
{
int num = 0,word = 0;
char *str = NULL;
str = (char *)malloc(sizeof(char)*40);
gets(str);
while(*str != '\0')
{
if(*str == ' ')
{
word = 0;
}
else
{
if(0 == word)
{
num++;
word = 1;
}
else
{
word = 1;
}
}
str++;
}
printf("%d\n",num);
return 0;
}