描述
杨老师的好朋友melonsoft最近很空闲,他想了一件非常具有意义的事情,破解一个密码,这个密码与单词有关,因此首先必须做一个统计单词的工作,就是统计一篇文章里不同单词的总数。下面你的任务是帮助melonsoft解决这个问题。
输入
有多组数据,每组一行,每组就是一篇小文章。每篇小文章都是由小写字母和空格组成,没有标点符号,每篇小文章最多不超过1000个字符,遇到#时表示输入结束。
输出
每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数。
样例输入
you are my friend
I am your friend too
#
I am your friend too
#
样例输出
4
5
#include <iostream>
#include <string>
#include <set>
using namespace std;
int main(){
string s="";
set<string> t;
char c;
while(c=getchar()){
if(c=='#')
break;
if(isupper(c)){
c=c+32;
}
if(c=='\n'){
if(s!="")
t.insert(s);
cout<<t.size()<<endl;
t.clear();
s="";
continue;
}
if(c!=' '){
s+=c;
}
else{
if(s!="")
t.insert(s);
s="";
}
}
return 0;
}
使用到了stl容器中的set函数,正好实现自动去重的功能