PAT-B 1043 輸出PATest

Enjoy_process發表於2019-02-23

                                                   PAT-B 1043 輸出PATest

                        https://pintia.cn/problem-sets/994805260223102976/problems/994805280074743808

 

 

題目

給定一個長度不超過 10^​4​​ 的、僅由英文字母構成的字串。請將字元重新調整順序,按 PATestPATest.... 這樣的順序輸出,並忽略其它字元。當然,六種字元的個數不一定是一樣多的,若某種字元已經輸出完,則餘下的字元仍按 PATest 的順序列印,直到所有字元都被輸出。

輸入

輸入在一行中給出一個長度不超過 10​^4​​ 的、僅由英文字母構成的非空字串。

輸出

在一行中按題目要求輸出排序後的字串。題目保證輸出非空。

樣例輸入

redlesPayBestPATTopTeePHPereatitAPPT

樣例輸出

PATestPATestPTetPTePePee

分析

統計PATest 6個字元的個數,然後進行列印即可,具體看程式。

C++程式

#include<iostream>

using namespace std;

int main()
{
	int a[6]={0};
	char c[6]={'P','A','T','e','s','t'};//分別記錄 PATest 6個字元的個數
	char ch; 
	while((ch=getchar())!='\n')
	{
		for(int i=0;i<6;i++)
		  if(ch==c[i])
		  	a[i]++;
	}
	int sum=0;//統計6個字元的總個數
	for(int i=0;i<6;i++)
	  sum+=a[i];
	while(sum>0)
	{
		for(int i=0;i<6;i++)
	      if(a[i]>0)
	      {
	  	    a[i]--;
	  	    sum--;
	  	    putchar(c[i]);
   	      }	
	}
	putchar('\n');
	return 0;
}

 

相關文章