输出GPLT (20 分)

版权声明:作者:最美的风景是你 https://blog.csdn.net/qq_43720467/article/details/90106231

输出GPLT (20 分)

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

输入格式:

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

输出格式:

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

输入样例:

pcTclnGloRgLrtLhgljkLhGFauPewSKgt

输出样例:

GPLTGPLTGLTGLGLL

#include<stdio.h>
#include<string.h>
int main()
{
    int i,j,p,t,G,P,L,T,m,count=0;
    char a[10001];
    gets(a);
    G=P=L=T=0;
    for(i=0; a[i]!='\0'; i++) {
        if(a[i]= ='G'||a[i]= ='g')  G++;
        if(a[i]= ='P'||a[i]= ='p')  P++;
        if(a[i]= ='L'||a[i]= ='l')  L++;
        if(a[i]= ='T'||a[i]= ='t')  T++;
    }
    i=j=p=t=1;
    m=G+P+L+T;
    while(1) {
        while(i<=G) {
            i++;
            count++;
            printf("G");
            break;
        }
        while(j<=P) {
            j++;
            count++;
            printf("P");
            break;
        }
        while(p<=L) {
            p++;
            count++;
            printf("L");
            break;
        }
        while(t<=T) {
            t++;
            count++;
            printf("T");
            break;
        }
        if(m==count) break;
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_43720467/article/details/90106231
今日推荐