- 既然要按PATest的顺序输出,那么就开一个数组cnt[6], 用来记录六个字符分别出现的个数(同时用一个变量tot记录总个数)。这样在读入字符串之后,就可以直接统计出这个数组。
- 遍历cnt数组,如果cnt[j]不为0,那么输出dict[i],并让cnt[i]减1、sum减1。如果sum变为0,那么就不再输出。
char dict[6]={'P','A','T','e','s','t'};
int cnt[6];
int main()
{
string s;
cin>>s;
int tot=0;
for(int i=0;i<s.size();i++)
for(int j=0;j<6;j++)
if(s[i] == dict[j])
cnt[j]++,tot++;
while(tot)
{
for(int j=0;j<6;j++)
if(cnt[j])
{
cout<<dict[j];
cnt[j]--;
tot--;
}
}
cout<<endl;
//system("pause");
return 0;
}