题目描述:
给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序,按“PATestPATest....”这样的顺序输出,并忽略其它字符。当然,六种字符的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按PATest的顺序打印,直到所有字符都被输出。
输入格式:
输入在一行中给出一个长度不超过10000的、仅由英文字母构成的非空字符串。
输出格式:
在一行中按题目要求输出排序后的字符串。题目保证输出非空。
输入样例:redlesPayBestPATTopTeePHPereatitAPPT输出样例:
PATestPATestPTetPTePePee
提交代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | #include <stdio.h> #include <string.h> int main(void) { char ch[10000]; scanf("%s",ch); int len=strlen(ch); int i; int cnt1=0,cnt2=0,cnt3=0,cnt4=0,cnt5=0,cnt6=0; for(i=0;i<len;i++){ if(ch[i]=='P'){ cnt1++; }else if(ch[i]=='A'){ cnt2++; }else if(ch[i]=='T'){ cnt3++; }else if(ch[i]=='e'){ cnt4++; }else if(ch[i]=='s'){ cnt5++; }else if(ch[i]=='t'){ cnt6++; } } while(cnt1!=0||cnt2!=0||cnt3!=0||cnt4!=0||cnt5!=0||cnt6!=0){ if(cnt1!=0){ printf("P"); cnt1--; } if(cnt2!=0){ printf("A"); cnt2--; } if(cnt3!=0){ printf("T"); cnt3--; } if(cnt4!=0){ printf("e"); cnt4--; } if(cnt5!=0){ printf("s"); cnt5--; } if(cnt6!=0){ printf("t"); cnt6--; } } //printf("test"); return 0; } |