UVa 10815 Andy's First Dictionary

题意:输入一个文本,找出所有不同的单词,按照字典序输出

学习的这一题的set的用法,因为set中的元素是从大到小的顺序排列好的,只需要将输入的单词放进去,再遍历一遍就可以

不过话说stringstream是什么意思===百度的看的晕晕乎乎的===

看到有一篇说的是stringstream可以用来做字符串的分割(空白切割)====

参看的这一篇--http://www.dotblogs.com.tw/v6610688/archive/2013/11/08/cplusplus_stringstream_int_and_string_convert_and_clear.aspx

(还是---繁体字--5555)

 1 #include<iostream>  

 2 #include<cstdio>  

 3 #include<cstring>  

 4 #include<algorithm> 

 5 #include<set>

 6 #include<sstream> 

 7 using namespace std;

 8 

 9 set<string> dict;//定义一个string集合 

10 

11 int main()

12 {

13     string s,buf;

14     while(cin>>s)

15     {

16         for(int i=0;i<s.length();i++)

17         if(isalpha(s[i])) s[i]=tolower(s[i]);else s[i]=' ';//isalpha(s[i])如果是字母的话返回真 

18         stringstream ss(s);

19         while(ss>>buf) dict.insert(buf);

20     }

21     for(set<string>::iterator it=dict.begin();it!=dict.end();++it)

22     cout<<*it<<"\n";

23     return 0;

24 }
View Code

 

你可能感兴趣的:(first)