zoukankan      html  css  js  c++  java
  • PAT乙级-1043. 输出PATest(20)

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

    输入格式:

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

    输出格式:

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

    输入样例:

    redlesPayBestPATTopTeePHPereatitAPPT
    

    输出样例:

    PATestPATestPTetPTePePee
    
    与1021类似
    最大区别就是break和continue的区别
    题解如下
    #include<iostream>
    #include<string.h>
    using namespace std;
    int main(){
        int a[6];
        memset(a, 0, sizeof(a));
        char str[10001];
        cin.get(str, 10001);
    
        int length = strlen(str);
        for (int i = 0; i < length; i++)
        {
            if (str[i] == 'P')
            {
                a[0]++;
                continue;
            }
            if (str[i] == 'A')
            {
                a[1]++;
                continue;
            }
            if (str[i] == 'T')
            {
                a[2]++;    
                continue;
            }
            if (str[i] == 'e')
            {
                a[3]++;
                continue;
            }
            if (str[i] == 's')
            {
                a[4]++;
                continue;
            }
            if (str[i] == 't')
            {
                a[5]++;
                continue;
            } 
        }
        int number = a[0];
        for (int i = 0; i < 6; i++)
        {
            if (number < a[i])
                number = a[i];
        }
        for (int i = 0; i < number; i++)
        {
            if (a[0] != 0)
            {
                cout << "P";
                a[0]--;
            }
            if (a[1] != 0)
            {
                cout << "A";
                a[1]--;
            }
            if (a[2] != 0)
            {
                cout << "T";
                a[2]--;
            }
            if (a[3] != 0)
            {
                cout << "e";
                a[3]--;
            }
            if (a[4] != 0)
            {
                cout << "s";
                a[4]--;
            }
            if (a[5] != 0)
            {
                cout << "t";
                a[5]--;
            }
        }
        return 0;
    }
  • 相关阅读:
    Uva 10935 Throwing cards away I
    Uva 3226 Symmetry
    eclipse @ 注释为何一写就报错
    2015省赛小感想
    Zoj 3842 Beauty of Array
    fedora 设置命令别名
    Uva220 Othello
    工作小技巧积累
    SSL介绍与Java实例
    一个完整的SSL连接建立过程
  • 原文地址:https://www.cnblogs.com/lanmaos/p/7412057.html
Copyright © 2011-2022 走看看