给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序,按GPLTGPLT....
这样的顺序输出,并忽略其它字符。当然,四种字符(不区分大小写)的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按GPLT
的顺序打印,直到所有字符都被输出。
输入格式:
输入在一行中给出一个长度不超过10000的、仅由英文字母构成的非空字符串。
输出格式:
在一行中按题目要求输出排序后的字符串。题目保证输出非空。
输入样例:
pcTclnGloRgLrtLhgljkLhGFauPewSKgt
输出样例:
GPLTGPLTGLTGLGLL
1 #include<stdio.h> 2 #include<string.h> 3 int main(){ 4 char a[10000]; 5 int i,g,p,l,t,m; 6 g=p=l=t=0; 7 scanf("%s",a); 8 for(i=0;i<=strlen(a);i++) 9 { 10 if(a[i]=='g'||a[i]=='G') 11 { 12 g++; 13 } 14 else if(a[i]=='p'||a[i]=='P') 15 { 16 p++; 17 } 18 else if(a[i]=='l'||a[i]=='L') 19 { 20 l++; 21 } 22 else if(a[i]=='t'||a[i]=='T') 23 { 24 t++; 25 } 26 } 27 //printf("%d %d %d %d\n",g,p,l,t); 28 while(1){ 29 while(g>0){ 30 printf("G"); 31 g--; 32 break; 33 } 34 while(p>0){ 35 printf("P"); 36 p--; 37 break; 38 } 39 while(l>0){ 40 printf("L"); 41 l--; 42 break; 43 } 44 while(t>0){ 45 printf("T"); 46 t--; 47 break; 48 } 49 50 m=g+p+l+t; 51 //printf("%d %d %d %d\n",g,p,l,t); 52 //printf("%d\n",m); 53 if(m==0) break; 54 } 55 return 0; 56 57 }