C语言求单词的个数
展开全部
错误比较多,一一罗列一下:
1、判断相等用==,fun函数用if(flag=1)这句就用错了
2、for循环不加括号,值包含了第一个if判断的内容,而第二个if(s[i]=='
')这个就会在循环结束之后判断
3、循环中使用循环条件使用*s!='\0',这个s指针一直指向字符串的首地址,*s一直是首地址的值,所以会使的其变为死循环,修改为s[i]!='\0'
4、判断是否为一个单词不能只用s[i]=='
'来判断,如果两个单词直接有多个空格的话,就会多判断出单词数,所以修改为s[i]=='
'&&flag==0
5、最后一个单词后面没有空格的话,该程序会将最后一个单词漏掉,所以循环结束之后需要再判断flag是否为0,为0则说明有一个单词没有统计上,加上。
6、代码书写规范就不说了。
1、判断相等用==,fun函数用if(flag=1)这句就用错了
2、for循环不加括号,值包含了第一个if判断的内容,而第二个if(s[i]=='
')这个就会在循环结束之后判断
3、循环中使用循环条件使用*s!='\0',这个s指针一直指向字符串的首地址,*s一直是首地址的值,所以会使的其变为死循环,修改为s[i]!='\0'
4、判断是否为一个单词不能只用s[i]=='
'来判断,如果两个单词直接有多个空格的话,就会多判断出单词数,所以修改为s[i]=='
'&&flag==0
5、最后一个单词后面没有空格的话,该程序会将最后一个单词漏掉,所以循环结束之后需要再判断flag是否为0,为0则说明有一个单词没有统计上,加上。
6、代码书写规范就不说了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
#include<string.h>
int
main()
{
char
string[1000];
int
number=1;
printf("从键盘输入一行字符,以空格分割单词,直到按回车键结束,统计其中的单词个数\n");
gets(string);
int
i=1;
while(string[i]!='\0')
{
if(string[i]=='
')
number++;
i++;
}
printf("单词个数为:%d\n",number);
return
0;
}
#include<string.h>
int
main()
{
char
string[1000];
int
number=1;
printf("从键盘输入一行字符,以空格分割单词,直到按回车键结束,统计其中的单词个数\n");
gets(string);
int
i=1;
while(string[i]!='\0')
{
if(string[i]=='
')
number++;
i++;
}
printf("单词个数为:%d\n",number);
return
0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询