鱼C论坛

 找回密码
 立即注册
查看: 1313|回复: 0

[技术交流] 洛谷题目 P1598

[复制链接]
发表于 2020-1-20 12:54:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

  2. #include <iostream>
  3. #include <string>

  4. using namespace std;

  5. string del_char(string str, char ch)
  6. {
  7.     int i;
  8.     string s = "";
  9.     for (i = 0; i < str.size(); i++)
  10.     {
  11.         if (str[i] != ch)
  12.             s += str[i];
  13.     }
  14.     return s;
  15. }

  16. int count(string str, char ch)
  17. {
  18.     int i, r = 0;
  19.     for (i = 0; i < str.size(); i++)
  20.     {
  21.         if (str[i] == ch)
  22.         {
  23.             r++;
  24.         }
  25.     }
  26.     return r;
  27. }

  28. int max(int *array, int len)
  29. {
  30.     if (len == 0)
  31.         return 0;
  32.     else if (len == 1)
  33.         return array[0];
  34.     else if (len == 2)
  35.         return array[0] > array[1] ? array[0] : array[1];
  36.     int i = 1, max_val = array[0];
  37.     for (; i < len; i++)
  38.     {
  39.         if (array[i] > max_val)
  40.         {
  41.             max_val = array[i];
  42.         }
  43.     }

  44.     return max_val;
  45. }

  46. int main()
  47. {
  48.     string t, a, b, c, d;
  49.     char alpha[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  50.     int arr[26], i, j;
  51.     getline(cin, a);
  52.     getline(cin, b);
  53.     getline(cin, c);
  54.     getline(cin, d);
  55.     t = del_char(a + b + c + d, ' ');

  56.     for (i = 0; i < 26; i++)
  57.     {
  58.         arr[i] = count(t, alpha[i]);
  59.     }
  60.     for (i = max(arr, 26); i >= 0; i--)
  61.     {
  62.         if (i == 0)
  63.             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";
  64.         else
  65.         {
  66.             for (j = 0; j < 26; j++)
  67.             {
  68.                 if (arr[j] >= i)
  69.                 {
  70.                     cout << "*";
  71.                 }
  72.                 else
  73.                 {
  74.                     cout << " ";
  75.                 }
  76.                 if (j != 25)
  77.                     cout << " ";
  78.             }
  79.             cout << endl;
  80.         }
  81.     }

  82.     return 0;
  83. }
复制代码

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-16 02:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表