PAT (Basic Level) Practice (中文)1043 输出PATest (20 分)

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

输入格式:

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

输出格式:

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

输入样例:

redlesPayBestPATTopTeePHPereatitAPPT

输出样例:

PATestPATestPTetPTePePee
 1 #include <iostream>
 2 #include <algorithm>
 3 #include <string>
 4 #include <cstring>
 5 using namespace std;
 6 int cnt[6];
 7 char a[6]={‘P‘,‘A‘,‘T‘,‘e‘,‘s‘,‘t‘};
 8 string s;
 9 int main()
10 {
11     while(cin>>s){
12         memset(cnt,0,sizeof(cnt));
13         int len=s.length();
14         int sum=0;
15         for(int i=0;i<len;i++){
16             for(int j=0;j<6;j++){
17                 if(s[i]==a[j]){
18                     cnt[j]++;
19                     sum++;
20                     break;
21                 }
22             }
23         }
24         int i=0;
25         while(sum){
26             if(cnt[i]){
27                 cout<<a[i];
28                 //cout<<a[i]<<" "<<cnt[i]<<endl;
29                 cnt[i]--;
30                 sum--;
31             }
32             i++;
33             i=i%6;
34         }
35         cout<<endl;
36     }
37     return 0;
38 }

原文地址:https://www.cnblogs.com/shixinzei/p/11187977.html

时间: 2024-11-08 23:46:24

PAT (Basic Level) Practice (中文)1043 输出PATest (20 分)的相关文章

PTA乙级 (1043 输出PATest (20分))

1043 输出PATest (20分) https://pintia.cn/problem-sets/994805260223102976/problems/994805280074743808 #include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #include <string> #include <cmath> using na

PAT Basic 1043 输出PATest (20 分)

给定一个长度不超过 10 ?4 ?? 的.仅由英文字母构成的字符串.请将字符重新调整顺序,按 PATestPATest.... 这样的顺序输出,并忽略其它字符.当然,六种字符的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按 PATest 的顺序打印,直到所有字符都被输出. 输入格式: 输入在一行中给出一个长度不超过 10 ?4 ?? 的.仅由英文字母构成的非空字符串. 输出格式: 在一行中按题目要求输出排序后的字符串.题目保证输出非空. 输入样例: redlesPayBestPAT

PAT (Advanced Level) Practice 1011 World Cup Betting (20 分)

With the 2010 FIFA World Cup running, football fans the world over were becoming increasingly excited as the best players from the best teams doing battles for the World Cup trophy in South Africa. Similarly, football betting fans were putting their

1043 输出PATest (20分)

#include <string.h> #include <iostream> using namespace std; int main() { char str[10005]; int c_p=0,c_a=0,c_T=0,c_e=0,c_s=0,c_t=0; cin>>str; for(int i=0;i<strlen(str);i++) { if(str[i]=='P') c_p++; else if(str[i]=='A') c_a++; else if(

PAT (Basic Level) Practice (中文)1002

1002 写出这个数 (20 分) 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n 小于 10?100??. 输出格式: 在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格. 输入样例: 1234567890987654321123456789 输出样例: yi san wu #include<stdio.h> #include<s

1003 我要通过!| PAT (Basic Level) Practice

1003 我要通过! (20 分) "答案正确"是自动判题系统给出的最令人欢喜的回复.本题属于 PAT 的"答案正确"大派送 -- 只要读入的字符串满足下列条件,系统就输出"答案正确",否则输出"答案错误". 得到"答案正确"的条件是: 字符串中必须仅有P. A. T这三种字符,不可以包含其它字符: 任意形如 xPATx 的字符串都可以获得"答案正确",其中 x 或者是空字符串,或者是仅

PAT (Basic Level) Practice (中文)1041 考试座位号 (15 分)

每个 PAT 考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位.正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座.但有些考生迟到了,试机已经结束,他们只能拿着领到的试机座位号码求助于你,从后台查出他们的考试座位号码. 输入格式: 输入第一行给出一个正整数 N(≤),随后 N 行,每行给出一个考生的信息:准考证号 试机座位号 考试座位号.其中准考证号由 16 位数字组成,座位从 1 到 N 编号.输入

PAT (Basic Level) Practice (中文)1023 组个最小数 (20 分) (排序)

给定数字 0-9 各若干个.你可以以任意顺序排列这些数字,但必须全部使用.目标是使得最后得到的数尽可能小(注意 0 不能做首位).例如:给定两个 0,两个 1,三个 5,一个 8,我们得到的最小的数就是 10015558. 现给定数字,请编写程序输出能够组成的最小的数. 输入格式: 输入在一行中给出 10 个非负整数,顺序表示我们拥有数字 0.数字 1.……数字 9 的个数.整数间用一个空格分隔.10 个数字的总个数不超过 50,且至少拥有 1 个非 0 的数字. 输出格式: 在一行中输出能够组

PAT (Basic Level) Practice (中文)1047 编程团体赛 (20 分)

编程团体赛的规则为:每个参赛队由若干队员组成:所有队员独立比赛:参赛队的成绩为所有队员的成绩和:成绩最高的队获胜. 现给定所有队员的比赛成绩,请你编写程序找出冠军队. 输入格式: 输入第一行给出一个正整数 N(≤),即所有参赛队员总数.随后 N 行,每行给出一位队员的成绩,格式为:队伍编号-队员编号 成绩,其中队伍编号为 1 到 1000 的正整数,队员编号为 1 到 10 的正整数,成绩为 0 到 100 的整数. 输出格式: 在一行中输出冠军队的编号和总成绩,其间以一个空格分隔.注意:题目保