纠错:用C语言中的数组相关知识编写:输入一行字符,统计并输出其中的单词数,单词间用空格分隔。

来源:百度知道 编辑:UC知道 时间:2024/06/05 17:59:02
#include <stdio.h>
void main()
{
printf("输入一个字符串:\n");
char s[80]={'\0'};
int i,n=0;
gets(s);
for(i=0;s[i]!='\n';i++)
{
if(s[i]=='\0')n++;
if(s[i]=='\0'&&s[i+1]=='\0')break;
}
printf("有%d个单词\n",n);
}

#include <stdio.h>
void main()
{
printf("输入一个字符串:\n");
char s[80]={'\0'};
int i,n=0;
gets(s);
for(i=0;s[i]!='\n';i++)
{
if(s[i]==' ')n++;
if(s[i]=='\0')
{
n++;
break;
}
}
printf("有%d个单词\n",n);
}

int fun(char *s)
{
int num=0;
int flag=0;
while(*s)
{
if((*s>='a'&&*s<='z')||(*s>='A'&&*s<='Z'))
flag =1;
else{
if(flag){
num++;
flag = 0;
}
}
s++;
}
--s;
if((*s<='z'&&*s>='a')||(*s<='Z'&&*s>='A'))
num++;
return num;
}
这是前几天我编写的统计单词个数的子函数
你直接在main函数里调用即可

for循环里为什么用s[i]=='\0'呢