PAT乙级题库“傻瓜题解”之输出PATest

给定一个长度不超过 10?4?? 的、仅由英文字母构成的字符串。请将字符重新调整顺序,按 PATestPATest.... 这样的顺序输出,并忽略其它字符。当然,六种字符的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按 PATest 的顺序打印,直到所有字符都被输出。

输入格式:

输入在一行中给出一个长度不超过 10?4?? 的、仅由英文字母构成的非空字符串。

输出格式:

在一行中按题目要求输出排序后的字符串。题目保证输出非空。

输入样例:

redlesPayBestPATTopTeePHPereatitAPPT

输出样例:

PATestPATestPTetPTePePee

 1 #include<iostream>
 2 #include<string>
 3 using namespace std;
 4 int main()
 5 {
 6     string str;
 7     cin>>str;
 8     int x[150]={0};
 9     for(int i=0;i<str.length();i++)
10     {
11         if(str[i]==‘P‘||str[i]==‘A‘||str[i]==‘T‘||str[i]==‘e‘||str[i]==‘s‘||str[i]==‘t‘)
12         x[str[i]]++;
13     }
14     while(1)
15     {
16         if(x[80]==0&&x[65]==0&&x[84]==0&&x[101]==0&&x[115]==0&&x[116]==0) break;
17         if(x[80])
18         {
19             cout<<‘P‘;
20             x[80]--;
21         }
22         if(x[65])
23         {
24             cout<<‘A‘;
25             x[65]--;
26         }
27         if(x[84])
28         {
29             cout<<‘T‘;
30             x[84]--;
31         }
32         if(x[101])
33         {
34             cout<<‘e‘;
35             x[101]--;
36         }
37         if(x[115])
38         {
39             cout<<‘s‘;
40             x[115]--;
41         }
42         if(x[116])
43         {
44             cout<<‘t‘;
45             x[116]--;
46         }
47      }
48     return 0;
49  } 
 

原文地址:https://www.cnblogs.com/solititude/p/11830818.html

时间: 2024-11-09 09:49:27

PAT乙级题库“傻瓜题解”之输出PATest的相关文章

PAT乙级题库“傻瓜”题解之数素数

令 P?i?? 表示第 i 个素数.现任给两个正整数 M≤N≤10的四次方,请输出 P?M?? 到 P?N?? 的所有素数. 输入格式: 输入在一行中给出 M 和 N,其间以空格分隔. 输出格式: 输出从 P?M?? 到 P?N?? 的所有素数,每 10 个数字占 1 行,其间以空格分隔,但行末不得有多余空格. 输入样例: 5 27 输出样例: 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 1 #in

PAT乙级题库“傻瓜”题解之划拳

划拳是古老中国酒文化的一个有趣的组成部分.酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字.如果谁比划出的数字正好等于两人喊出的数字之和,谁就赢了,输家罚一杯酒.两人同赢或两人同输则继续下一轮,直到唯一的赢家出现. 下面给出甲.乙两人的划拳记录,请你统计他们最后分别喝了多少杯酒. 输入格式: 输入第一行先给出一个正整数 N(≤100),随后 N 行,每行给出一轮划拳的记录,格式为: 甲喊 甲划 乙喊 乙划 其中喊是喊出的数字,划是划出的数字,均为不超过 100 的正整数(两只

PAT——乙级1006:换个格式输出整数&amp;乙级1021:个位数统计&amp;乙级1031:查验身份证

1006 换个格式输出整数 (15 point(s)) 让我们用字母 B 来表示"百".字母 S 表示"十",用 12...n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超过 3 位的正整数.例如 234 应该被输出为 BBSSS1234,因为它有 2 个"百".3 个"十".以及个位的 4. 输入格式: 每个测试输入包含 1 个测试用例,给出正整数 n(<1000). 输出格式: 每个测试用例的

PAT乙级题:1003我要通过!

1 #include <iostream> 2 #include <string> 3 #include <vector> 4 #include <algorithm> 5 using namespace std; 6 //题目贼恶心,竟然没有说出A存在的规律!!!!! 7 //首先,必须要有PAT存在,且不能有其他字符 8 //其次P与T中间A的个数乘以P之前的个数==T之后的A的个数!!!!!!!!! 9 int main() { 10 int n; 1

[PAT乙级] Practise 1006 换个格式输出整数

PAT (Basic Level) Practice (中文)1006 1006 换个格式输出整数 让我们用字母 B 来表示"百".字母 S 表示"十",用 12...n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超过 3 位的正整数.例如 234 应该被输出为 BBSSS1234,因为它有 2 个"百".3 个"十".以及个位的 4. 输入格式: 每个测试输入包含 1 个测试用例,给出正整数 n(&l

1050. 螺旋矩阵(25) pat乙级题

本题要求将给定的N个正整数按非递增的顺序,填入“螺旋矩阵”.所谓“螺旋矩阵”,是指从左上角第1个格子开始,按顺时针螺旋方向填充.要求矩阵的规模为m行n列,满足条件:m*n等于N:m>=n:且m-n取所有可能值中的最小值. 输入格式: 输入在第1行中给出一个正整数N,第2行给出N个待填充的正整数.所有数字不超过104,相邻数字以空格分隔. 输出格式: 输出螺旋矩阵.每行n个数字,共m行.相邻数字以1个空格分隔,行末不得有多余空格. 输入样例: 12 37 76 20 98 76 42 53 95

1054. 求平均值 (20)-PAT乙级真题

今天刚刚到学校,2017年学习正式开始了,今天看到了浙大的<数据结构>这学期又要开课了,决定一定要跟着学习一遍:在大学生mooc网上学习:http://www.icourse163.org/course/zju-93001#/info :然后就是跟着<算法之美>也要同步看完. 然后就在PAT上随便做一道题,这是第一次通过AC,发现了两个比较好的博客主页:http://www.liuchuo.net/  和  https://www.joyhwong.com/   都总结了刷题的过程

[NOI题库]1.1题解

今年NOIP居然"各有两道题目从NOI题库中抽取并在原题基础上改动后使用",不好好刷题怎么行. 这是第一篇题解文章,因为题目太水直接上代码了. 1.1编程基础之输入输出 01 Hello, World! 根据题意直接输出"Hello, World!"即可. #include <iostream> using namespace std; int main() { cout<<"Hello, World!"<<e

NOI题库 1768最大子矩阵 题解

NOI题库 1768最大子矩阵  题解 总时间限制: 1000ms 内存限制: 65536kB 描述 已知矩阵的大小定义为矩阵中所有元素的和.给定一个矩阵,你的任务是找到最大的非空(大小至少是1 * 1)子矩阵. 比如,如下4 * 4的矩阵 0 -2 -7 0 9 2 -6 2 -4 1 -4 1 -1 8 0 -2 的最大子矩阵是 9 2 -4 1 -1 8 这个子矩阵的大小是15. 输入   输入是一个N * N的矩阵.输入的第一行给出N (0 < N <= 100).再后面的若干行中,依