问题描述 :
输入一行字符,用函数编程统计其中有多少单词。
说明:以空格分隔开的任何字符串都认为是单词。比如“I’m”认为是一个单词
统计单词个数的函数原型为:int CountWords(char str[]);
输入说明 :
输入一行字符,最多能从键盘输入20个字符,单词之间以空格分开。
输出说明 :
输出一个单词个数(一个整数)。
输入范例 :
How are you
输出范例:
3
总结
1.思路:如果非空格后是一个空格就可以认为是一个单词;最后一个单词可能会统计不上,解决方案就是直接判断字符串的最后一位是否不为空
2.奥利给!!!
#include<stdio.h>
#include<ctype.h>
#include<string.h>
int CountWords(char str[]);
int main(){
char str[101];
int count;
gets(str);
count=CountWords(str);
printf("%d\n",count);
return 0;
}
int CountWords(char str[]){
int count,i,len;
len=strlen(str);
count=0;
for(i=0;i<len;i++){
if(str[i]!=' ' && str[i+1]==' ')
count++;
}
if(str[len-1]!=' ')
count++;
return count;
}