当前位置: 首页 > news >正文

西工大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("\n");
    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;
}


相关文章:

  • transform 实现响应式绝对居中
  • 需求调研与分析流程
  • InfoQ在ETE大会上对Android工程师Jake Wharton的采访
  • 自己动手做聊天机器人 一-涉及知识【转】
  • Linux下安装Nginx详细图解教程
  • 用到qsort的一道题(+qsort模板)
  • js中函数的参数注意事项
  • flume 简单实例
  • DirectX11 学习笔记10 - 用文件存储顶点布局
  • 深入浅出TensorFlow(六)TensorFlow高层封装
  • 今日小程序推荐:码农老黄历-看今天哪个方位BUG最少
  • Tomcat 80端口被占用
  • Mac_mac下使用ll等指令
  • Android M Launcher3主流程源码浅析
  • [iOS]Core Data浅析一 -- 启用Core Data
  • Google 是如何开发 Web 框架的
  • Android交互
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • flask接收请求并推入栈
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • Iterator 和 for...of 循环
  • JDK 6和JDK 7中的substring()方法
  • tensorflow学习笔记3——MNIST应用篇
  • uva 10370 Above Average
  • 创建一种深思熟虑的文化
  • 高度不固定时垂直居中
  • 工程优化暨babel升级小记
  • 技术发展面试
  • 开源地图数据可视化库——mapnik
  • 聊聊springcloud的EurekaClientAutoConfiguration
  • 前端存储 - localStorage
  • 少走弯路,给Java 1~5 年程序员的建议
  • 为视图添加丝滑的水波纹
  • 一个项目push到多个远程Git仓库
  • 【运维趟坑回忆录】vpc迁移 - 吃螃蟹之路
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • #《AI中文版》V3 第 1 章 概述
  • #define与typedef区别
  • #HarmonyOS:Web组件的使用
  • #Linux(Source Insight安装及工程建立)
  • $.ajax()方法详解
  • (python)数据结构---字典
  • (二)构建dubbo分布式平台-平台功能导图
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • (轉貼) VS2005 快捷键 (初級) (.NET) (Visual Studio)
  • .Family_物联网
  • .mysql secret在哪_MYSQL基本操作(上)
  • .net core Swagger 过滤部分Api
  • .net core 依赖注入的基本用发
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • @Transactional 竟也能解决分布式事务?
  • [ 蓝桥杯Web真题 ]-Markdown 文档解析
  • [ 隧道技术 ] 反弹shell的集中常见方式(四)python反弹shell