int numwords(char a [] ){
int i ,j ,num = 0 ;
for ( i = 0 , j = strlen (a) ; i<j;){ //遍历a字符串
while(a[i] == ' ') i++ ; //遇到空格时 跳过
if(i<j) num++; //跳过空格 i<j 计数+1
while(a[i] != ' ') i++; //跳过非空格
}
return num; // 返回单词数
}
//这个是计算单词数的函数
这个是例子
#include <iostream>
#include <string>
using namespace std;
int k = 0 ;
int main (){
char a[1000];
char c;
do{
cin.get(c);
a[k++] = c ;
} while ( c!= '\n');
int i , j , num = 0 ;
for( i = 0 , j = k ; i < j; ){
while (a[i] == ' ') i++;
if ( i<j ) num++;
while (a[i]!= ' ')i++;
}
cout<<num;
}