zoukankan      html  css  js  c++  java
  • “树人杯”暨第三届辽宁科技大学校园程序设计竞赛正赛E 成绩统计图(红)

    E 成绩统计图(红)

    Time Limit:1000MS  Memory Limit:65536K
    Total Submit:46 Accepted:5

    Description

    “树人杯”暨第三届辽宁科技大学校园程序设计竞赛圆满结束后,大会要进行成绩统计并进行分析。做出柱状可视化统计图。此次比赛共有9道题目,分别为A,B,C……I。在统计各道题目的通过次数之后,输出柱状图(柱状图的高度由各题的通过次数决定,1次用一个“*”表示,见例图)。

    Input

    输入:每次系统给一系列通过题目的题号(字母),如BCAABCDEFIGA。每次输入的字符串长度不超过72,输入以#结束。

    Output

    输出:按各题的通过次数打印出柱状统计图。(每两个柱之间用1个空格隔开)
    例图:
    *
    * * *
    * * * * * * * *
    A B C D E F G H I

    说明:BCAABCDEFIGA中有3个A(A题通过了3次),2个B,2个C,D、E、F、G、I一个,没有H。

    Sample Input

    AAAABBCDEFFFFIGGGH
    AGGHADGII
    #

    Sample Output

    *         *
    *         * *
    * *       * *
    * * * * * * * * *
    A B C D E F G H I
    *
    *           *   *
    *     *     * * *
    A B C D E F G H I

     

    #include <iostream>
    #include <string.h>
    using namespace std;
    int main()
    {
    int la, i, j, k, flag, temp[10];
    char s[73], p[73][10];
    while (cin >> s && s[0] != '#')
    {
    for (i = 0; i < 73; ++i)
    {
    for (j = 0; j < 10; ++j)
    {
    p[i][j] = ' ';
    }
    }
    for (i = 0; i < 10; ++i)
    {
    temp[i] = 0;
    }
    la = strlen(s);
    for (k = 0; k < la ; ++k)
    {
    switch(s[k])
    {
    case 'A':
    p[temp[0]][0] = '*';
    temp[0]++;
    break;
    case 'B':
    p[temp[1]][1] = '*';
    temp[1]++;
    break;
    case 'C':
    p[temp[2]][2] = '*';
    temp[2]++;
    break;
    case 'D':
    p[temp[3]][3] = '*';
    temp[3]++;
    break;
    case 'E':
    p[temp[4]][4] = '*';
    temp[4]++;
    break;
    case 'F':
    p[temp[5]][5] = '*';
    temp[5]++;
    break;
    case 'G':
    p[temp[6]][6] = '*';
    temp[6]++;
    break;
    case 'H':
    p[temp[7]][7] = '*';
    temp[7]++;
    break;
    case 'I':
    p[temp[8]][8] = '*';
    temp[8]++;
    break;
    }
    }
    flag = temp[0];
    for (i = 1; i < 9; ++i)
    {
    if (flag < temp[i])
    {
    flag = temp[i];
    }
    }
    for (i = flag - 1; i >=0; --i)
    {
    for (j = 0; j < 8; ++j)
    {
    cout << p[i][j] << ' ';
    }
    cout << p[i][8] << endl;
    }
    cout << "A B C D E F G H I" << endl;
    }
    return 0;
    }
  • 相关阅读:
    bzoj3993: [SDOI2015]星际战争
    bzoj3583: 杰杰的女性朋友 && 4362: Graph
    bzoj2260: 商店购物 && 4349: 最小树形图
    老oj3444 && Pku3241 Object Clustering
    bzoj3754: Tree之最小方差树
    bzoj2215: [Poi2011]Conspiracy
    老oj曼哈顿最小生成树
    bzoj2180: 最小直径生成树
    棋盘问题
    油田 Oil Deposits
  • 原文地址:https://www.cnblogs.com/anderson0/p/1445362.html
Copyright © 2011-2022 走看看