给定一个长度不超过 104 的、仅由英文字母构成的字符串。请将字符重新调整顺序,按 PATestPATest....
这样的顺序输出,并忽略其它字符。当然,六种字符的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按 PATest 的顺序打印,直到所有字符都被输出。
输入格式:
输入在一行中给出一个长度不超过 104 的、仅由英文字母构成的非空字符串。
输出格式:
在一行中按题目要求输出排序后的字符串。题目保证输出非空。
输入样例:
redlesPayBestPATTopTeePHPereatitAPPT
输出样例:
PATestPATestPTetPTePePee
1 #include<iostream> 2 #include<string> 3 using namespace std; 4 int main() 5 { 6 string str; 7 cin>>str; 8 int x[150]={0}; 9 for(int i=0;i<str.length();i++) 10 { 11 if(str[i]=='P'||str[i]=='A'||str[i]=='T'||str[i]=='e'||str[i]=='s'||str[i]=='t') 12 x[str[i]]++; 13 } 14 while(1) 15 { 16 if(x[80]==0&&x[65]==0&&x[84]==0&&x[101]==0&&x[115]==0&&x[116]==0) break; 17 if(x[80]) 18 { 19 cout<<'P'; 20 x[80]--; 21 } 22 if(x[65]) 23 { 24 cout<<'A'; 25 x[65]--; 26 } 27 if(x[84]) 28 { 29 cout<<'T'; 30 x[84]--; 31 } 32 if(x[101]) 33 { 34 cout<<'e'; 35 x[101]--; 36 } 37 if(x[115]) 38 { 39 cout<<'s'; 40 x[115]--; 41 } 42 if(x[116]) 43 { 44 cout<<'t'; 45 x[116]--; 46 } 47 } 48 return 0; 49 }