一个点都过不去
查看原帖
一个点都过不去
1086109
ComradePenguin1917楼主2023/11/13 16:32
#include <iostream>
#include <cstdio>
#include <string>
#include <string.h>
using namespace std;

int cnt[26] = {0}, cnt_max = -1;

int main() {
    for (int i = 0; i < 4; ++i) {
        string sent;
        getline(cin, sent);
        for (int j = 0; j < sent.length(); ++j) {
            if (sent[j] >= 'A' && sent[j] <= 'Z') {
                ++cnt[sent[j] - 'A'];
            }
        }
        if (i != 3) {
            getchar();
        }
    }
    for (int i = 0; i < 26; ++i) {
        if (cnt[i] > cnt_max) {
            cnt_max = cnt[i];
        }
    }
    char table[26][cnt_max + 1];
    memset(table, ' ', sizeof(table));
    for (int i = 0; i < 26; ++i) {
        table[i][cnt_max] = (char)'A' + i;
        for (int j = 0; j < cnt[i]; ++j) {
            table[i][cnt_max - 1 - j] = '*';
        }
    }
    for (int i = 0; i < cnt_max + 1; ++i) {
        for (int j = 0; j < 26; ++j) {
            if (j <= 25) {
                printf("%c ", table[j][i]);
            } else {
                printf("%c", table[j][i]);
            }
        }
        printf("\n");
    }
    return 0;
}

使用Vscode能够得到答案。

2023/11/13 16:32
加载中...