字符串 單詞數



輸入一行由小寫字母和空格組成的句子,計算相同單詞的個數。

需要注意的幾點:
1) 如果一行句子只有空格,則有0個單詞。
2) 如果一行句子由空格開頭,不能算作單詞個數。
3) 如果兩個單詞之間有n個空格隔開,不能算作單詞個數。
4) 如果句子由n個空格結尾,不能算作單詞個數。
5) 相同的單詞的個數只是一個。




Problem Description
lily的好朋友xiaoou333最近很空,他想了一件沒有什麼意義的事情,就是統計一篇文章裏不同單詞的總數。下面你的任務是幫助xiaoou333解決這個問題。

Input
有多組數據,每組一行,每組就是一篇小文章。每篇小文章都是由小寫字母和空格組成,沒有標點符號,遇到#時表示輸入結束。

Output
每組只輸出一個整數,其單獨成行,該整數代表一篇文章裏不同單詞的總數。

Sample Input
you are my friend #

Sample Output
4
#include<stdio.h>
#include<string.h>
#include<set>
#include<iostream>
#include<string>
using namespace std;
int main()
{
	char s[1000];
	set<string>S;
	while(gets(s)!=NULL&&s[0]!='#')
	{
		int j,k,count=0;
		int  m=strlen(s);
		string b[100];
		char *p;
		p=strtok(s," ") ;
		for( k=0;p!=NULL;k++)
		{
		     b[k]=p;
		     //cout<<b[k]<<endl; 
			 p=strtok(NULL," ") ;
		}
		    for(int i=0;i<k;i++)
			{
			if(S.count(b[i])==0)
			{
			S.insert(b[i]);
		   }
		}
		int ans=S.size();
		printf("%d\n",ans);
		S.clear();
		
	}
	return 0;
}//AC代碼


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章