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<<"
";
23     return 0;
24 }
View Code

原文地址:https://www.cnblogs.com/wuyuewoniu/p/4296169.html