输入文本,找出所有不同的单词,按字母序从小到大输出
需要用到set的性质,元素不同,且从小到大排序
#include<iostream>
#include<string>
#include<set>
#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);//stringstream是字符串流。它将流与存储在内存中的string对象绑定起来。在多种数据类型之间实现自动格式化。
while (ss >> buf) {//将ss读入到buf里
dict.insert(buf);//插入到集合中
}
}
for (set<string>::iterator it = dict.begin(); it != dict.end(); ++it) {//set中元素以从小到大排好
cout << *it << endl;
}
return 0;
}