给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序,按“PATestPATest….”这样的顺序输出,并忽略其它字符。当然,六种字符的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按PATest的顺序打印,直到所有字符都被输出。

输入格式:

输入在一行中给出一个长度不超过10000的、仅由英文字母构成的非空字符串。

输出格式:

在一行中按题目要求输出排序后的字符串。题目保证输出非空。

输入样例:

redlesPayBestPATTopTeePHPereatitAPPT

输出样例:

PATestPATestPTetPTePePee

程序代码:

#include<stdio.h>
char s[100001];
int count[6];
char c[]={'P','A','T','e','s','t'};
 int max(int a[],int len);
int main()
{
    scanf("%s",s);
    char *p = s;
    while(*p!='\0')
    {
        switch (*p)
        {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;
        }
        p++;
    }
    int m = max(count,6);
    while(m--)
    {
        if(count[0]>0){
            putchar('P');
            count[0]--;}
                if(count[1]>0){
                        putchar('A');
                        count[1]--;}
                if(count[2]>0){
                        putchar('T');
                        count[2]--;}
                if(count[3]>0){
                        putchar('e');
                        count[3]--;}
                if(count[4]>0){
                        putchar('s');
                        count[4]--;}
                if(count[5]>0){
                        putchar('t');
                        count[5]--;}
    }


return 0;   
}
int max(int a[],int len)
{
    int i=0;
    int max = a[0];
    for(i=0;i<len;i++)
    {
        if(a[i]>max)
            max = a[i];
    }
    return max;
}