给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序,按“PATestPATest….”这样的顺序输出,并忽略其它字符。当然,六种字符的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按PATest的顺序打印,直到所有字符都被输出。
输入格式: 输入在一行中给出一个长度不超过10000的、仅由英文字母构成的非空字符串。
输出格式: 在一行中按题目要求输出排序后的字符串。题目保证输出非空。
程序:
#include <iostream> #include <cstdio> using namespace std; int main() { int count[6] = {0}; char ch[6] = {'P', 'A', 'T', 'e', 's', 't'}; char c; while ((c = getchar()) != '\n') { switch(c) { case 'P': count[0]++; break; case 'A': count[1]++; break; case 'T': count[2]++; break; case 'e': count[3]++; break; case 's': count[4]++; break; case 't': count[5]++; break; default: break; } } while (1) { int flag = 0; for (int i = 0; i < 6; i++) { if (count[i]) { cout << ch[i]; count[i] -= 1; } else { flag++; } } if (flag == 6) { break; } } return 0; }