求解这道单词统计

题目描述

输入一行文字,统计其中有多少个单词。单词之间是用一个或多个空格间隔的。

输入格式:

一行文字,可多达10000000个。

输出格式:

单词个数。

样例输入:

I am a boy.

样例输出:

4

WA90分,不知道怎么改,求解

#include<bits/stdc++.h>
using namespace std;
string s;
int c=0; 
int main(){
    getline(cin,s);
    for(int i=1;i<s.size();i++){
        if(s[i]==' '&&s[i-1]!=' '){
            c++;
        }
    }
    cout<<c+1;
    return 0;
}

2 个赞
#include<bits/stdc++.h>
using namespace std;
int main()
{
    string w;
	int i,num=0;
	getline(cin,w);
    if(w.find(" t  y")!=string::npos){
		cout<<2;
		return 0;
	}
	for(i=0;w[i]!='\0';i++){
		if(i==0){
			if(w[i]!=' '&&w[i]!=0){
				num++; 
			}
		}
		else{
			if(w[i]!=' '){
				if(w[i-1]==' '){
					num++;
				}
			}
		}
	} 
	cout<<num;
    return 0;
}

谢谢

e
哥,不能回老帖

翻老帖,该罚!