1043 输出PATest (20 分)

  1. 既然要按PATest的顺序输出,那么就开一个数组cnt[6], 用来记录六个字符分别出现的个数(同时用一个变量tot记录总个数)。这样在读入字符串之后,就可以直接统计出这个数组。
  2. 遍历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;
}
posted @ 2021-02-17 19:43  Dazzling!  阅读(22)  评论(0编辑  收藏  举报