关于计算单词的个数 求帮助。。。。
输入一行字符,统计其中单词的个数。各单词之间用空格分隔,空格数可以是多个。
#include "stdio.h"
main()
{
int i=0,cout=0;
char s[99];
printf("请输入一句话\n");
scanf("%s",&s);
while(s[i]!='\0')
{
if(s[i]==' ' && s[i+1]!=' ')
{
cout++;
}
i++;
}
printf("%d\n",cout);
return 0;
}
为什么这个运行cout一直为0啊 哪里错了啊。。。谢谢!!!
[解决办法]
楼主,输入一行单词,有空格的话,用scanf("%s",&s);不行哦,要用gets(s);
[解决办法]
#include "stdio.h"main(){int i=0,cout=0;char s[99];printf("请输入一句话\n");gets(s); //用gets才行,有空格while(s[i]!='\0'){if(s[i]==' ' && s[i+1]!=' '){cout++;}i++;}printf("%d\n",cout+1); //最后一个单词你没加哦return 0;}
[解决办法]
scanf遇到空格就结束了,你取到的s中当然没有空格,这样结果就是0了哦 。