题目连接:http://acm.hust.edu.cn/vjudge/problem/18649
Sample Input
Adventures in Disneyland
Two blondes were going to Disneyland when they came to a fork in the
road.
The sign read: “Disneyland Left.” So they went home.
Sample Output
a
adventures
blondes
came
disneyland
fork
going
home
in
left
read
road
sign
so
the
they
to
two
went
were
when
题意
就是按照字典序把每一个单词不重复地输出,不考虑大小写,全部转换为小写输出。
题解
略坑的地方,例如:“ffw.sef” ,这样是算作两个单词ffw和sef。
stringstream ss流处理的方法(新姿势)具体见代码 stringstream ss(s),可以把字符串s单独处理成每个单词
代码
#include<bits/stdc++.h>
using namespace std;
void tr(string &st)
{ string::iterator a;
for(a=st.begin();a!=st.end();a++)
{
if(*a>='A'&&*a<='Z')*a=*a+32;
else if(*a>='a'&&*a<='z')*a=*a;
else {*a=' ';}
}
}
int main()
{
set<string> s;
string zz,buf;
while(cin>>zz)
{
tr(zz);
stringstream ss(zz);
while(ss>>buf)s.insert(buf);
}
set<string>::iterator it;
for(it=s.begin();it!=s.end();it++)
{
cout<<*it<<"\n";
}
return 0;
}