• 西工大10级保研机试 柱状图


    1021.柱状图

    时限:1000ms 内存限制:10000K 总时限:3000ms

    描写叙述
    写一个程序,读入4行大写字母(每行不超过80个字符)。打印出如Sample Output的一个垂直的柱状图显示出每一个大写字母出现的次数(仅仅显示大写字母,不显示空格、数字和标点符号等)。



    输入
    输入4行ASCII码字符,每行不超过80个字符。

    输出
    如图形式输出,输出中不论什么一行的行尾不能包括没用的空格,也不要在開始输出不论什么空行。

    输入例子
    THE QUICK BROWN FOX JUMPED OVER THE LAZY DOG.
    THIS IS AN EXAMPLE TO TEST FOR YOUR
    HISTOGRAM PROGRAM.
    HELLO!


    输出例子
    *
    *
    * *
    * * * *
    * * * *
    * * * * * *
    * * * * * * * * * *
    * * * * * * * * * * * * *
    * * * * * * * * * * * * * * * * * *
    * * * * * * * * * * * * * * * * * * * * * * * * * *
    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

    提示

    A出现了5次 LAZY AN EXAMPLE HISTOGRAM PROGRAM因此有5个* 同理 B出现了1次 C出现了1次 D出现了2次 E出现了8次 …… 再看 O的第一行 前面用空格补齐 后面因为没有什么了 当然输出了对应的*后直接回车即可了(任 何一行的行尾不能包括没用的空格) 最后一行 输出了A ->Z后 就结束 不用输出回车

    /***********************************
       author   : Grant Yuan
       time     : 201410/4 2:15
       source   : 西工大10级保研机试
       explain  : 水题,除了对格式要求非常严
    ************************************/
    #include <iostream>
    #include<cstdio>
    #include<cstring>
    #include<cstdlib>
    #include<algorithm>
    #include<queue>
    
    using namespace std;
    int n;
    char a[100];
    int num[256];
    int main()
    {
        memset(a,0,sizeof(a));int k,d;
        for(k=1;k<=4;k++)
        {
            memset(a,0,sizeof(a));
            gets(a);
            int l=strlen(a);
            for(int i=0;i<l;i++)
            {
                if(a[i]>='A'&&a[i]<='Z')
                {
                    num[a[i]]++;
                }
            }
        }
        int l1='A',l2='Z',m=0;
        for(k=l1;k<=l2;k++)
        {
            if(num[k]>m) m=num[k];
        }
        while(1){
        for(k=l1;k<=l2;k++) if(num[k]>=m) d=k;
        for(k=l1;k<=l2;k++)
        {
            if(num[k]>=m){
                    if(k<d) printf("* ");
                    else printf("*");
            }
            else {if(k<d)printf("  ");}
        }m--;printf("
    ");
        if(m<=0) break;}
        printf("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");
        return 0;
    }
    


  • 相关阅读:
    FastAdmin 开发时对数据库进行版本管理 (非 think-migration)
    使用 mysqldump 备份时的一些参数
    软件开源后可能遇到的问题
    基于 FastAdmin 开发后台流程 (持续更新)
    FastAdmin 怎么把模块设置默认的首页?
    FastAdmin 离线安装 ueditor 出现 rule 错误
    Windows nginx php cgi-fcgi 配置 xdebug
    FastAdmin 插件刷新缓存出现 200 红色提示框解决 always_populate_raw_post_data
    参与开源项目给我带来了什么?
    为什么要求将问题发到社区?
  • 原文地址:https://www.cnblogs.com/brucemengbm/p/7064371.html
Copyright © 2020-2023  润新知