#include<bits/stdc++.h>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); } for(auto it = dict.begin();it != dict.end();it++) cout << *it << endl;}
while(cin >> s) 一个个字符的从屏幕中读入s1
然后for循环遍历s1 每一个大写的字母都变成小写(利用tolower函数) “ : 之类的符号就变成空格 不然就把符号也输出来了
然后定义一个stringstream ss(s) 自动让s流入 再让ss 流入string buf中 这样达到一个一个单词输入的目的 每输入一个单词就把那个单词insert到set里面
由于set会自动按照字符序排号 所以利用迭代器输出set即可