//看的别人思路 //将要处理的字母提取出来进行排序,在按序分配回去 #include<iostream> #include<cstdio> #include<string> using namespace std; int main(){ string str ="1"; while(str !=""){ string ans=""; getline(cin,str); for(int i=0;i<26;i++){ for(int j=0;j<str.size();j++){ if(str[j]-'a'==i || str[j] - 'A'==i){ ans += str[j];//已将字母按顺序摆放 } } } int pos=0; for(int i=0;i<str.size();i++){ if(str[i]>='a'&& str[i]<='z' || str[i] >= 'A'&&str[i]<='Z'){ str[i]=ans[pos]; pos++; } if(pos == ans.size()){ break; } } cout<<str<<endl; } return 0; }