找不到错误求助
统计一行文本的单词个数本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
输入格式:
输入给出一行字符。
输出格式:
在一行中输出单词个数。
输入样例:
Let's go to room 209.
输出样例:
5
#include <stdio.h>
#include "math.h"
#include "string.h"
int main()
{
int i=0,c=0,n;
char a;
gets(a);
n=strlen(a);
while(i<=n-1){
if(a!=' '&&(a==' '||a=='\0')){
c++;
}
i++;
}
printf("%d\n",c);
return 0;
}
测试点:
sample等价,有标点,词间空1格 答案正确
多个空格,长、短字符串 答案正确
空格结尾 运行时错误
1个最短单词,前有空格 答案正确
全空格 答案正确
请问哪里有错误?
为什么空格结尾运行时错误,我的数组访问没有越界呀。。。 char a;
可能是输入超200? 真的是!多谢啦!忘了这个了,我还以为200足够了
页:
[1]