C++代码:
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <cctype>
using namespace std;
int main()
{
string s;
vector<string> svec;
while(getline(cin,s))
{
int i;
for(i=0;i<(int)s.size();++i)
{
if(isupper(s[i]))
s[i]=s[i]-'A'+'a';
}
string::iterator begin=s.begin();
for(;begin!=s.end()&&!isalpha(*begin);++begin);
string::iterator end;
if(begin==s.end())
end=begin;
else
end=begin+1;
while(true)
{
if(begin==s.end())
break;
for(;end!=s.end()&&isalpha(*end);++end);
string str(begin,end);
vector<string>::iterator iter=find(svec.begin(),svec.end(),str);
if(iter==svec.end())
svec.push_back(str);
for(;end!=s.end()&&!isalpha(*end);++end);
begin=end;
if(end!=s.end())
++end;
}
}
sort(svec.begin(),svec.end());
vector<string>::iterator iter=svec.begin();
while(iter!=svec.end())
cout<<*iter++<<endl;
return 0;
}