zltzlt 发表于 2020-1-20 12:54:58

洛谷题目 P1598

// https://www.luogu.com.cn/problem/P1598

#include <iostream>
#include <string>

using namespace std;

string del_char(string str, char ch)
{
    int i;
    string s = "";
    for (i = 0; i < str.size(); i++)
    {
      if (str != ch)
            s += str;
    }
    return s;
}

int count(string str, char ch)
{
    int i, r = 0;
    for (i = 0; i < str.size(); i++)
    {
      if (str == ch)
      {
            r++;
      }
    }
    return r;
}

int max(int *array, int len)
{
    if (len == 0)
      return 0;
    else if (len == 1)
      return array;
    else if (len == 2)
      return array > array ? array : array;
    int i = 1, max_val = array;
    for (; i < len; i++)
    {
      if (array > max_val)
      {
            max_val = array;
      }
    }

    return max_val;
}

int main()
{
    string t, a, b, c, d;
    char alpha[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    int arr, i, j;
    getline(cin, a);
    getline(cin, b);
    getline(cin, c);
    getline(cin, d);
    t = del_char(a + b + c + d, ' ');

    for (i = 0; i < 26; i++)
    {
      arr = count(t, alpha);
    }
    for (i = max(arr, 26); i >= 0; i--)
    {
      if (i == 0)
            cout << "A B C D E F G H I J K L M N O P Q R S T U V W X Y Z";
      else
      {
            for (j = 0; j < 26; j++)
            {
                if (arr >= i)
                {
                  cout << "*";
                }
                else
                {
                  cout << " ";
                }
                if (j != 25)
                  cout << " ";
            }
            cout << endl;
      }
    }

    return 0;
}
页: [1]
查看完整版本: 洛谷题目 P1598