自己调试了很多遍,就是不明白哪里不对,本地编译器输出正确,但是牛客网上那个90%正确率,输入XSUWHQ应输出6,但是实际输出16,在自己电脑上DEV C++编译就输出6
#include <stdio.h> //90%正确率
int main()
{
int len, i; //定义长度和字符串长度i
char str[5000];//定义一个字符串,长度为5000
i = 0;
while ( (str[i] = getchar()) != '\n' ) //输入字符串,回车即表示输入完成
{
i ++;
}
str[i] = '\0';
for ( i=0; i<5000; i++) //从第一个元素开始遍历
{
if ( str[i] != ' ')// 如果不是空格,开始计数长度
{
len = len + 1;
} else if( str[i] == ' ') //遇到空格则将长度变为0,重新开始计
{
len = 0;
}
if ( str[i] == '\0' ) //遍历到最后一个元素时将长度减一,并跳出循环
{
len--;
break;
}
}
printf("%d", len);
return 0;
}