版权声明:作者:最美的风景是你 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;
}