文章
211
粉丝
0
获赞
1047
访问
35.2k
#include <bits/stdc++.h>
using namespace std;
//排序“不区分大小写”
bool cmp(char a,char b){
if(a >= 'A' && a <= 'Z')
a+=32;
if(b >= 'A' && b <= 'Z')
b+=32;
return a < b;
}
int main(){
string line;
while(getline(cin,line)){
//先提取所有字母,存到 str
string str;
for(char i : line){
if((i >= 'a' && i <= 'z') || (i >= 'A' && i <= 'Z'))
str += i;
}
//对字母串排序:按“不区分大小写的字典序”
stable_sort(str.begin(),str.end(),cmp);
//把排序后的字母“填回去”,非字母字符留在原位
int temp = 0;
for(int i = 0; i < line.size(); i++){
if((line[i] >= 'a' && line[i] <= 'z') || (line[i] >= 'A' && line[i] <= 'Z'))
cout << str[temp++];
else
cout << line[i];
}
cout << endl;
}
return 0;
}
登录后发布评论
暂无评论,来抢沙发