
#include <iostream>#include <string>//用到了向量容器,把它理解成动态数组#include <vector>using namespace std;string str_sort(string str){ //字符向量的声明 vector <char> vec; //把字符串中的字母按字母检索出来并存在向量中 for(int j = 0;j<26;j++) { for(int i = 0;i<str.size();i++) { if(str[i]=='a'+j||str[i]=='A'+j) { vec.push_back(str[i]); } } } //保留原字符串中非字母元素,将字母元素按照向量表中顺序填入 int num = 0; for(int i = 0;i<str.size();i++) { if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z')) { str[i] = vec[num]; num++; } } return str;}int main(){ string str; //注意通过这个函数可以读取一行输入 while(getline(cin,str)) { cout << str_sort(str) << endl; } return 0;}