关于此题,为输入一段英文句子,将其中的所有单词,按字母表的顺序输出
#include<stdio.h>
#include<set>
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
char c;
set<string> a; //方便去重排序
string q;
set<string>::iterator it;
while(scanf("%c",&c)!=EOF)
{
if(c<='Z'&&c>='A')
c=c+32;
if(c<='z'&&c>='a')
{
q=q+c; //很巧妙运用了string可以直接相加
}
else
{
if(q.size()==0)
continue;
a.insert(q);
q.clear();
//记录每个单词并存到set中进行排序,随后清除方便下一次存储
}
}
for(it=a.begin();it!=a.end();it++)
{
cout<<*it<<endl;
}
return 0;
}