您的位置:首页 > 编程语言

1043. 输出PATest(20)

2018-02-28 11:06 316 查看
给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序,按“PATestPATest....”这样的顺序输出,并忽略其它字符。当然,六种字符的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按PATest的顺序打印,直到所有字符都被输出。输入格式:输入在一行中给出一个长度不超过10000的、仅由英文字母构成的非空字符串。输出格式:在一行中按题目要求输出排序后的字符串。题目保证输出非空。输入样例:
redlesPayBestPATTopTeePHPereatitAPPT
输出样例:PATestPATestPTetPTePePee#include<iostream>
#include<string.h>
#include<map>
using namespace std;
int main()
{
char str[10001];
map<char,int> m;
m['P']=0;m['A']=0;m['T']=0;m['e']=0;m['s']=0;m['t']=0;
scanf("%s",str);
for(int i=0;i<strlen(str);i++)
{
if(str[i]=='P'||str[i]=='A'||str[i]=='T'||str[i]=='e'||str[i]=='s'||str[i]=='t')
{
m[str[i]]++;
}
}
while(m['P']!=0||m['A']!=0||m['T']!=0||m['e']!=0||m['s']!=0||m['t']!=0)
{
if(m['P']!=0)
{
printf("P");
m['P']--;
}
if(m['A']!=0)
{
printf("A");
m['A']--;
}
if(m['T']!=0)
{
printf("T");
m['T']--;
}if(m['e']!=0)
{
printf("e");
m['e']--;
}if(m['s']!=0)
{
printf("s");
m['s']--;
}
if(m['t']!=0)
{
printf("t");
m['t']--;
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  代码 PAT