PAT-B 1043. 输出PATest

来源:互联网 发布:人肉搜索网络团队 编辑:程序博客网 时间:2024/05/19 22:57

给定一个长度不超过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;}
0 0
原创粉丝点击