輸出GPLT
阿新 • • 發佈:2021-10-10
給定一個長度不超過10000的、僅由英文字母構成的字串。請將字元重新調整順序,按GPLTGPLT....
這樣的順序輸出,並忽略其它字元。當然,四種字元(不區分大小寫)的個數不一定是一樣多的,若某種字元已經輸出完,則餘下的字元仍按GPLT
的順序列印,直到所有字元都被輸出。
輸入格式:
輸入在一行中給出一個長度不超過10000的、僅由英文字母構成的非空字串。
輸出格式:
在一行中按題目要求輸出排序後的字串。題目保證輸出非空。
輸入樣例:
pcTclnGloRgLrtLhgljkLhGFauPewSKgt
結尾無空行
輸出樣例:
GPLTGPLTGLTGLGLL
結尾無空行
answer
#include <stdio.h> int main(){ int GPLT[4] = {0,0,0,0}; char ch; scanf("%c",&ch); while(ch != '\n') { switch(ch) { case 'G': case 'g': GPLT[0] += 1; break; case 'P': case 'p': GPLT[1] += 1; break; case 'L': case 'l': GPLT[2] += 1; break; case 'T': case 't': GPLT[3] += 1; break; } scanf("%c",&ch); } while(1) { if(GPLT[0]){ GPLT[0] -= 1; printf("G"); } if(GPLT[1]){ GPLT[1] -= 1; printf("P"); } if(GPLT[2]){ GPLT[2] -= 1; printf("L"); } if(GPLT[3]){ GPLT[3] -= 1; printf("T"); } if(!GPLT[0]&&!GPLT[1]&&!GPLT[2]&&!GPLT[3]) break; } return 0; }