pta天梯赛 L1-023 输出GPLT (20分) C++版

标题 L1-023 输出GPLT (20分) C++版

题目
7-7 输出GPLT
给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序,按GPLTGPLT…这样的顺序输出,并忽略其它字符。当然,四种字符(不区分大小写)的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按GPLT的顺序打印,直到所有字符都被输出。
输入格式:
输入在一行中给出一个长度不超过10000的、仅由英文字母构成的非空字符串。
输出格式:
在一行中按题目要求输出排序后的字符串。题目保证输出非空。
输入样例:
pcTclnGloRgLrtLhgljkLhGFauPewSKgt
输出样例:
GPLTGPLTGLTGLGLL
AC代码

#include <bits/stdc++.h>
using namespace std;
main() 
{
    string str;
    cin >> str;
    int g = 0, p = 0, l = 0, t = 0;
    for (int i = 0; i < str.size(); ++i)
    {
        if (str[i] == 'g' || str[i] == 'G')  ++g;
        else if (str[i] == 'p' || str[i] == 'P')  ++p;
        else if (str[i] == 'l' || str[i] == 'L')  ++l;
        else if (str[i] == 't' || str[i] == 'T')   ++t;
    }
    while (g || p || l || t)
     {
        if (g)
        {
            cout << 'G';
            --g;
        }
        if (p) 
        {
            cout << 'P';
            --p;
        }
        if (l) 
        {
            cout << 'L';
            --l;
        }
        if (t) 
        {
            cout << 'T';
            --t;
        }
    }
}
发布了47 篇原创文章 · 获赞 1 · 访问量 1318

猜你喜欢

转载自blog.csdn.net/m0_46106615/article/details/104156206
今日推荐