本题的意思大概是安迪想要把她新学的句子按照字典序把所有的单词都排列输出一遍,正好set可以自动排序,只需要字符串流读取所有单词,最后借助set自动排序遍历输出就ok帮助小仙女安迪解决问题啦。
ac代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
set<string> dict;
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(set<string>::iterator itr = dict.begin(); itr != dict.end(); itr++)
{
cout<<*itr<<endl;
}
return 0;
}