题目:统计字符串中单词个数,这里的单词是指除了空格之外的其它一个或者几个组成的字符段。
上代码
#include <stdio.h>
int main(){
char a[1000] = {0};
int i = 0, sign = 0, num = 0;
gets(a);
while (a[i] != '\0') {
if (a[i] == ' ') {
sign = 0; /*用sign来表示前一个字符是不是空格,只有当前面一个字符是空格,后面一个不是空格时,num才能加1 */
i++;
}
else {
if (sign == 0){ /*判断前一个字符是不是空格*/
num ++ ;
sign = 1;
} //endif
i++;
}
}; //endwhile
printf("%d", num);
return 0;
}
主要注意处理有连续空格时的情况,还有空格开头,空格结尾。
自己写的代码,有不对的地方感谢指教!