#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即可

05-11 17:13
查看更多