分析:这个题其实是非常水的,但是作为渣滓的我还是从中收获了很多新知识,比如学会了一点<set>的使用,而且知
道了在<set>中原来会自动按从小到大的顺序排序。知道了这些,这个题就简单了,只需读入,之后再用迭代器访问挨
着输就行了
另外,这个题需转换成小写字母,之后再用
stringstream ss(s);
while (ss>>buf) dict.insert(buf);插入就行了
关于stringstream ss(s),我也无法解释非常清楚,可以请教一下大神们
另外,这个题需转换成小写字母,之后再用
stringstream ss(s);
while (ss>>buf) dict.insert(buf);插入就行了
关于stringstream ss(s),我也无法解释非常清楚,可以请教一下大神们
代码如下:
#include <cstdio>
#include <cstring>
#include <set>
#include <iostream>
#include <sstream>
using namespace std;
set<string> dict;
int main()
{
string s,buf;
while (cin>>s)
{
for (int i=0;i<s.length();i++)
if (isalpha(s[i])) s[i]=tolower(s[i]);
else s[i]=' ';
stringstream ss(s);
while (ss>>buf) dict.insert(buf);
}
set <string> ::iterator it;
for (it=dict.begin();it!=dict.end();it++)
cout<<*it<<endl;
return 0;
}