本题没有什么太多技巧,只是为了展示set的用法。(注意:set中每个元素最多只出现一次,且本身有自动排序)
#include<iostream>
#include<string>
#include<set>
#include<sstream>
using namespace std;
int main()
{
set<string> dict;
string s,buf;
getline(cin,s);
for(int i=0;i<s.size();i++)
{
if(isalpha(s[i])) s[i]=tolower(s[i]);
else s[i]=' ';
}
stringstream ss(s);
while(ss>>buf) dict.insert(buf);
for(set<string>::iterator it=dict.begin();it != dict.end();++it)
cout<<*it<<endl;
return 0;
}