题目:点击打开链接
思路:一个个单词的读取,去掉标点符号并把所有的字母都改成小写后塞入set。
代码:
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<set>
#include<string>
using namespace std;
set <string> a;
int main() {
// freopen("10815.in","r",stdin);
string b;
while(cin>>b){
if(b.size()==1){
if(('a'<=b[0]&&b[0]<='z')||('A'<=b[0]&&b[0]<='Z')){
if('A'<=b[0]&&b[0]<='Z'){
b[0]=b[0]-'A'+'a';
}
a.insert(b);
}
continue;
}
b+="@";
int x=0;
for(int i=0;i<b.size();i++){
if(!(('a'<=b[i]&&b[i]<='z')||('A'<=b[i]&&b[i]<='Z'))){
if(x<i){
string y=b.substr(x,i-x);
a.insert(y);
}
x=i+1;
}
else if('A'<=b[i]&&b[i]<='Z'){
b[i]=b[i]-'A'+'a';
}
}
}
for(set<string>::iterator it=a.begin();it!=a.end();it++){
cout<<*it<<endl;
}
return 0;
}