PAT (Basic Level) Practice (中文)1043

1043 输出PATest (20 分)

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

输入格式:

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

输出格式:

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

输入样例:

redlesPayBestPATTopTeePHPereatitAPPT

输出样例:

PATestPATestPTetPTePePee

作者: CHEN, Yue

单位: 浙江大学

时间限制: 400 ms

内存限制: 64 MB

代码长度限制: 16 KB


#include<iostream>
#include<string>
#include<cstring>
const int N=128;
using namespace std;
int main()
{
	//这个几把题,不用map不用很麻烦,就用一个数组就完事了
	//用个数组,用个if 单分支就完事了
	/* ASCII(American Standard Code for Information Interchange,美国信息互换标准代码,ASCⅡ)是基于拉丁字母的一套电脑编码系统。它主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。

  ASCII第一次以规范标准的型态发表是在1967年,
	最后一次更新则是在1986年,至今为止共定义了128个字符,
	其中33个字符无法显示(这是以现今操作系统为依归,
	但在DOS模式下可显示出一些诸如笑脸、扑克牌花式等8-bit符号),
	且这33个字符多数都已是陈废的控制字符,
	控制字符的用途主要是用来操控已经处理过的文字,
	在33个字符之外的是95个可显示的字符,
	包含用键盘敲下空白键所产生的空白字符也算1个可显示字符
	(显示为空白)。*/
	int array[N]; 
	string str;
	cin>>str;
	memset(array,0,sizeof(array));
	for(int i=0;i<str.length();i++)
		array[str[i]]++;
	while(array['P']>0||array['A']>0||array['T']>0||array['e']>0||array['s']>0||array['t']>0)
	{
		if(array['P']-->0)	cout<<'P';
		if(array['A']-->0)	cout<<'A';
		if(array['T']-->0)	cout<<'T';
		if(array['e']-->0)	cout<<'e';
		if(array['s']-->0)	cout<<'s';
		if(array['t']-->0)	cout<<'t';
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_41066584/article/details/94594165