PTA 输出GPLT

给定一个长度不超过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 }

 

上一篇:pta L1-061 新胖子公式 (10分)


下一篇:061 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 08 一维数组总结