494 - Kindergarten Counting Game
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
注意这里有一些问题,单独的标点符号不算单词,单词中一定有至少一个字母,而且以标点分割的字母算两个单词,比如jk....lakf 这算两个单词!
看到这里,是不是想到些什么呢?
对,状态量的标准是是不是字母,这样想来,这道题就简单多了!
#include "stdio.h"
#include "cstring"
#include "ctype.h"
int main ()
{
char temp[1000];
while(gets(temp)!=NULL)
{
int i,con = 0,count = 0;
for (i=0;i<=strlen(temp);i++)
{
if (!con&&isalpha(temp[i]))
{
count++;con = 1;
}
if (!isalpha(temp[i]))
con = 0;
}
printf("%d\n",count);
}
}