题解 UVA10815 【Andy's First Dictionary】

Morning_Glory

2018-06-30 17:00:49

Solution

```c //这道题其实可以用STL中的set(集合)来解决 #include <iostream> #include <cctype> #include <cstdio> #include <cstring> #include <set> using namespace std; set<string>p; set<string>::iterator iter;//迭代器 string s; char ch; int main () { while ((ch=getchar())!=EOF){//一个一个读取 if (!isalpha(ch))continue;//如果是空格或者符号就不看 while (isalpha(ch)){ ch=tolower(ch);//将读到的字母转为小写 s+=ch;//s后面加入ch ch=getchar(); } p.insert(s);//给集合中添加元素 s.clear();//s清空 } for (iter=p.begin();iter!=p.end();iter++) cout<<*iter<<endl;//由于set会自动按照字典序排序,所以只要顺序输出就好了 return 0; } ```