测试用例
每个单词以空格结束,比如字符串“qwer erty fghj k md”中有5个单词。
设计思路
定义一个循环语句,从第一个不是空格的字符开始检索,碰见字符就向后检索,碰见空格单词数加1。循环长度为字符串长度。
代码实现
#include <stdio.h>
#include <string.h>
int findwords(char *s) {
int i = 0,n = 0,q = 0;//变量i代表循环次数,n用来统计单词数,q用来统计每个单词的长度,大于0才是单词
for (i = 0;i < strlen(s);i++) {
q = 0;//单词长度置0
while (s[i] != ' ') {
i++;
q++;
}
if (q > 0)
n++; //单词长度大于等于1才是单词
}
return n;
}
int main() {
char s[100];
gets(s);
printf("你输入的字符串中的单词数为:%d。\n",findwords(s));
return 0;
}