为啥后台说我这个是重复的题解啊

回复帖子

@liangmingzhou 2019-04-22 16:18 回复
#include<iostream>
#include<string>

using namespace std;

int main()
{
    string a, b, c, d, numb;
    getline(cin, a); getline(cin, b); getline(cin, c); getline(cin, d);
    numb = a + b + c + d;
    int sum[26] = {0};
    //把字母的个数放到数组里
    for (int i = 0; i < numb.length(); i++)
    {
        sum[numb[i] - 'A']++;
    }
    //
    int max = 0;
    for (int i = 0; i < 26; i++)
        if (sum[i] > max)max = sum[i];

    //创建一个max+1行,26列的二维数组
    char **pn = NULL;       //创建动态数组max+1行26列
    pn = new char*[max+1];
    for (int i = 0; i < max+1; i++)
        pn[i] = new char[26];

    //赋值
    for (int j = 0; j < 26; j++)
    {
        for (int i = 0; i < max; i++)
        {
            if (i < max - sum[j])
                pn[i][j] = ' ';
            else
                pn[i][j] = '*';
        }
        pn[max][j] = 'A' + j;
    }

    for (int i = 0; i < max + 1; i++)
    {
        for (int j = 0; j < 26; j++)
        {
            cout << pn[i][j] << ' ';
        }
        if (i == max ) break;
        cout << endl;
    }

    system("pause");
    return 0;
}
@Sxy_Limit 2019-04-22 16:58 回复 举报

貌似都是这个思路吧,可能写法不同,这类题的解法本来就不多QAQ

反馈
如果你认为某个帖子有问题,欢迎向洛谷反馈,以帮助更多的同学。



请具体说明理由,以增加反馈的可信度。