首页 > 代码库 > L1-023. 输出GPLT

L1-023. 输出GPLT

L1-023. 输出GPLT

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

输入格式:

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

输出格式:

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

输入样例:
pcTclnGloRgLrtLhgljkLhGFauPewSKgt
输出样例:
GPLTGPLTGLTGLGLL

 1 #include<stdio.h>
 2 #include<string.h>
 3 int main(){
 4     char x[10001];
 5     int i,G,P,L,T,j,k,l;
 6     scanf("%s",x);
 7     G=P=L=T=0;
 8     for(i=0;i<strlen(x);i++){
 9         if(x[i]==g ||x[i]==G)
10             G++;
11         else if(x[i]==p ||x[i]==P)
12             P++;
13         else if(x[i]==l ||x[i]==L)
14             L++;
15         else if(x[i]==t ||x[i]==T)
16             T++;
17     }
18     while(G!=0 || P!=0 || L!=0 ||T!=0){
19         if(G!=0){
20             printf("G");
21             G--;
22         }
23         if(P!=0){
24             printf("P");
25             P--;
26         }
27         if(L!=0){
28             printf("L");
29             L--;
30         }
31         if(T!=0){
32             printf("T");
33             T--;
34         }
35     }
36     return 0;
37 }

 

L1-023. 输出GPLT