• 1043 输出PATest


    #include <iostream>
    #include<string>
    using namespace std;
    int su(int a[], int n)//定义一个函数用于计算总和。
    {   
        int sum = 0;
        for (int i = 0; i < n; i++)
            sum += a[i];
        return sum;
    }
    int main() {
        int a[6] = { 0 }, max = 0;
        string str;
        cin >> str;
        for (int i = 0; i < str.size(); i++) {
            if (str[i] == 'P')a[0]++;
            else if(str[i] == 'A')a[1]++;
            else if (str[i] == 'T')a[2]++;
            else if (str[i] == 'e')a[3]++;
            else if (str[i] == 's')a[4]++;
            else if (str[i] == 't')a[5]++;
    
        }
        
        while (su(a, 6)!=0) {//如果和为0,说明已经输出完成了
            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]--; }
    
        }
    }

    这种题目一定要去繁就简,题目只要求输出“PATest”那就只考虑则6个字母,这个题目和1047 找冠军的题目很像。

  • 相关阅读:
    构造器
    方法
    Arrays常用的类
    栈内存和堆内存
    方法的重载
    数组遍历
    Scanner类
    连接符和三元运算符
    逻辑运算和位运算
    CSAPP笔记(第二章 信息的表示和处理)-02
  • 原文地址:https://www.cnblogs.com/kalicener/p/12459101.html
Copyright © 2020-2023  润新知