PAT乙級 1043 輸出PATest
阿新 • • 發佈:2018-11-16
給定一個長度不超過104的、僅由英文字母構成的字串。請將字元重新調整順序,按 PATestPATest… 這樣的順序輸出,並忽略其它字元。當然,六種字元的個數不一定是一樣多的,若某種字元已經輸出完,則餘下的字元仍按 PATest 的順序列印,直到所有字元都被輸出。
輸入格式:
輸入在一行中給出一個長度不超過104的、僅由英文字母構成的非空字串。
輸出格式:
在一行中按題目要求輸出排序後的字串。題目保證輸出非空。
輸入樣例:
redlesPayBestPATTopTeePHPereatitAPPT
輸出樣例:
PATestPATestPTetPTePePee
思路:
水題。分別記錄字串中PATest五個字元的數量,然後按PATest的順序遍歷輸出,直至個數全部為0。
程式碼:
#include<stdio.h> int main(){ char ch; int cnt_P=0,cnt_A=0,cnt_T=0,cnt_e=0,cnt_s=0,cnt_t=0; while((ch=getchar())!='\n'){ switch(ch){ case 'P': ++cnt_P;break; case 'A': ++cnt_A;break; case 'T': ++cnt_T;break; case 'e': ++cnt_e;break; case 's': ++cnt_s;break; case 't': ++cnt_t;break; } } while(cnt_P||cnt_A||cnt_T||cnt_e||cnt_s||cnt_t){ if(cnt_P){ printf("P"); --cnt_P; } if(cnt_A){ printf("A"); --cnt_A; } if(cnt_T){ printf("T"); --cnt_T; } if(cnt_e){ printf("e"); --cnt_e; } if(cnt_s){ printf("s"); --cnt_s; } if(cnt_t){ printf("t"); --cnt_t; } } return 0; }