PAT basic 1043 输出PATest (20分) C++

一、题目描述

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

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

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

输入样例:
redlesPayBestPATTopTeePHPereatitAPPT

输出样例:
PATestPATestPTetPTePePee

二、代码

//1043
#define _CRT_SECURE_NO_WARNINGS
#include<stdlib.h>
#include<cctype>
#include<iostream>
using namespace std;

int main()
{
	int countP = 0, countA = 0, countT = 0;
	int counte = 0, counts = 0, countt = 0;
	char temp;
	while (isalpha(temp = getchar()))
	{
		switch (temp)
		{
		case'P':{countP++; break; }
		case'A':{countA++; break; }
		case'T':{countT++; break; }
		case'e':{counte++; break; }
		case's':{counts++; break; }
		case't':{countt++; break; }
		default:break;
		}
	}
	while (countP || countA || countT || counte || counts || countt)
	{
		if (countP)
		{
			cout << "P";
			countP--;
		}
		if (countA)
		{
			cout << "A";
			countA--;
		}
		if (countT)
		{
			cout << "T";
			countT--;
		}
		if (counte)
		{
			cout << "e";
			counte--;
		}
		if (counts)
		{
			cout << "s";
			counts--;
		}
		if (countt)
		{
			cout << "t";
			countt--;
		}
	}


	system("pause");
	return 0;
}

三、运行结果

在这里插入图片描述

题目合集

在这里呦~

发布了81 篇原创文章 · 获赞 2 · 访问量 2005

猜你喜欢

转载自blog.csdn.net/qq_44352065/article/details/104113644
今日推荐