TOJ 5223: 輸出GPLT

5223: 輸出GPLT

描述

給定一個長度不超過10000的、僅由英文字母構成的字符串。請將字符重新調整順序,按“GPLTGPLT....”這樣的順序輸出,並忽略其它字符。當然,四種字符(不區分大小寫)的個數不一定是一樣多的,若某種字符已經輸出完,則餘下的字符仍按GPLT的順序打印,直到所有字符都被輸出。

輸入

輸入在一行中給出一個長度不超過10000的、僅由英文字母構成的非空字符串。

輸出

在一行中按題目要求輸出排序後的字符串。題目保證輸出非空。

樣例輸入

pcTclnGloRgLrtLhgljkLhGFauPewSKgt

樣例輸出

GPLTGPLTGLTGLGLL

代碼

#include <stdio.h>
#include <string.h>
int main()
{
char s[10001];
int i,l,a[4]={0},max;
gets(s);
l=strlen(s);
for(i=0;i<l;i++)
{
if(s[i]=='G'||s[i]=='g')
a[0]++;
if(s[i]=='P'||s[i]=='p')
a[1]++;
if(s[i]=='L'||s[i]=='l')
a[2]++;
if(s[i]=='T'||s[i]=='t')
a[3]++;
}
max=a[0];
for(i=1;i<4;i++)
{
if(a[i]>max)
max=a[i];
}
for(i=0;i<max;i++)
{
if(a[0]>0)
{
printf("G");
a[0]--;
}
if(a[1]>0)
{
printf("P");
a[1]--;
}
if(a[2]>0)
{
printf("L");
a[2]--;
}
if(a[3]>0)
{
printf("T");
a[3]--;
}
}
printf("\n");
return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章