Kindergarten Counting Game
Everybody sit down in a circle. Ok. Listen to me carefully.
``Woooooo, you scwewy wabbit!''
Now, could someone tell me how many words I just said?
Input and Output
Input to your program will consist of a series of lines, each line containing multiple words (at least one). A ``word'' is defined as a consecutive sequence of letters (upper and/or lower case).
Your program should output a word count for each line of input. Each word count should be printed on a separate line.
Sample Input
Meep Meep!
I tot I taw a putty tat.
I did! I did! I did taw a putty tat.
Shsssssssssh ... I am hunting wabbits. Heh Heh Heh Heh ...
Sample Output
2
7
10
9
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
string str;
int nWords;
while(getline(cin,str,'\n'))
{
nWords = 0;
bool isWord =false;
string::iterator It;
for( It= str.begin(); It!=str.end() ; ++It)
{
if((*It>='a' && *It<='z') || (*It>='A' && *It <='Z') )
{
if(!isWord) isWord = true;
}
else
{
if(isWord){
isWord = false;
nWords++;
}
}
}
--It;
//防止最后的字符是字母时少加一;
if((*It>='a' && *It<='z') || (*It>='A' && *It <='Z') && isWord)
nWords++;
cout<<nWords<<endl;
}
}