输入
输入:大小写字母以及空格,单词以空格分隔
输出:单词个数
代码
如果不是空格
且inWord=0
说明是进入单词的第一个字母,则单词总数加一。
如果是空格,证明离开单词,inWord = 0。
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int countWords(char *str) {
int count = 0;
int inWord = 0;
for (int i = 0; i < strlen(str); i++) {
if (isspace(str[i])) {
inWord = 0;
}else {
if (!inWord) {
inWord = 1;
count++;
}
}
}
return count;
}
运行
int main() {
char str[100];
gets(str);
int len = countWords(str);
printf("%d\n", len);
return 0;
}
前后都有空格: