P1598 垂直柱状图

题目描述

写一个程序从输入文件中去读取四行大写字母(全都是大写的,每行不超过72个字符),然后用柱状图输出每个字符在输入文件中出现的次数。严格地按照输出样例来安排你的输出格式。

输入输出格式

输入格式:

四行字符,由大写字母组成,每行不超过72个字符

输出格式:

由若干行组成,前几行由空格和星号组成,最后一行则是由空格和字母组成的。在任何一行末尾不要打印不需要的多余空格。不要打印任何空行。

输入输出样例

输入样例#1: 复制

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

输出样例#1: 复制

                            ***                   **                   *     *   **                   *     *   *
*       *     *             *     *   *
*       *     * *     * *   *     * * *
*       *   * * *     * *   * *   * * * *
*     * * * * * *     * * * * *   * * * *     * *
* * * * * * * * * * * * * * * * * * * * * * * * * *
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

说明

每行输出后面不允许出现多余的空格。

题目链接:https://www.luogu.org/problemnew/show/1598

分析:(⊙o⊙)…贼恶心了,打印格式出错了好几次,GG

其实这道题很简单,就是注意细节就可以了,一路扫过去,把所有单词出现的次数记录下来,然后模拟一个输出。

输出其实最麻烦。

主要思路,求最大的,然后从底下或者最上面扫,当a-z中有字母个数达到现在已所指的数目,就输出,否则就输出空格~~~

没想到两个月没做题,水平掉了这么多,我看来还是得花点时间刷题了,准备准备打个蓝桥杯,希望有机会和大佬们在北京相见QAQ

下面给出AC代码:

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 int a[100];
 4 char s[100];
 5 int main()
 6 {
 7     int maxn=0;
 8     for(int i=1;i<=4;i++)
 9     {
10         gets(s);
11         int len=strlen(s);
12         for(int j=0;j<len;j++)
13         {
14            if(s[j]>='A'&&s[j]<='Z')
15                 a[s[j]-'A'+1]++;
16         }
17     }
18     for(int i=1;i<=26;i++)
19         maxn=max(maxn,a[i]);
20     for(int t=maxn;t>0;t--)
21     {
22         for(int i=1;i<=26;i++)
23         {
24             if(a[i]>=t)
25                 cout<<"*"<<" ";
26             else printf("  ");
27         }
28         cout<<endl;
29     }
30     for(int i=(int)'A';i<=(int)'Z';i++)
31         cout<<(char)i<<" ";
32     return 0;
33 }

转载于:https://www.cnblogs.com/ECJTUACM-873284962/p/7744529.html

洛谷 P1598 垂直柱状图【字符串+模拟】相关推荐

  1. 洛谷 P1598 垂直柱状图(输入带空格的字符串)

    P1598 垂直柱状图 菜鸟生成记(25) 这个题有点水,考察字符串的基本功(哎!就喜欢这考基本功的水题) 这一题涉及到输入带空格的字符串输入和格式化输出; 唉!只从gets死了(C11删除gets, ...

  2. 洛谷 P1598 垂直柱状图【字符串】

    题目描述 写一个程序从输入文件中去读取四行大写字母(全都是大写的,每行不超过72个字符),然后用柱状图输出每个字符在输入文件中出现的次数.严格地按照输出样例来安排你的输出格式. 输入输出格式 输入格式 ...

  3. P1598 垂直柱状图(模拟)

    题目描述 写一个程序从输入文件中去读取四行大写字母(全都是大写的,每行不超过100个字符),然后用柱状图输出每个字符在输入文件中出现的次数.严格地按照输出样例来安排你的输出格式. 输入格式 四行字符, ...

  4. 字符串——垂直柱状图(洛谷 P1598)

    题目选自洛谷P1598 字符串的题确实够刁钻,有的明明思路很简单,但是写起来就很复杂. 这道题难点在于如何输出"柱状图". 用二维数组来存放每一行的结果再挨个输出吗? 显然这不太行 ...

  5. P1598 垂直柱状图

    P1598 垂直柱状图 题目描述 写一个程序从输入文件中去读取四行大写字母(全都是大写的,每行不超过100个字符),然后用柱状图输出每个字符在输入文件中出现的次数.严格地按照输出样例来安排你的输出格式 ...

  6. 洛谷p1598题解记录

    洛谷p1598题解记录 对这道题来说,输入几行数据其实无所谓,判定时是按照是否输入EOF来决定输入是否结束的. 代码 #include <stdio.h>char numberCount[ ...

  7. 洛谷 P5594 【XR-4】模拟赛 视频讲解(二维数组、模拟)

    洛谷 P5594 [XR-4]模拟赛(需要 二维数组) 题目描述 X 校正在进行 CSP 前的校内集训. 一共有 nn 名 OIer 参与这次集训,教练为他们精心准备了 mm 套模拟赛题. 然而,每名 ...

  8. 洛谷算法题单:模拟与高精度例题(上)

    一:模拟 想要利用计算机解决现实生活中的一些复杂的问题时,建立模型是解决问题的关键. 举个生活中常见的例子:我们拿到了某次数学考试的成绩单,现在需要知道谁考得最好.当然不能把成绩单对着电脑晃一晃,然后 ...

  9. 洛谷算法题单:模拟与高精度例题(下)

    接着上篇的例题. 1.洛谷P4924魔法少女小Scarlet 题目描述: Scarlet最近学会了一个数组魔法,她会在n∗n二维数组上将一个奇数阶方阵按照顺时针或者逆时针旋转90°, 首先,Scarl ...

最新文章

  1. B - Parentheses Balance (UVA - 673)
  2. Windows Mobile中实现统计图形的绘制(C#版,柱状图)
  3. 《软件工程概论》第二章核心内容
  4. 2021暑假实习-SSM超市积分管理系统-day07笔记
  5. PHP的Static与Global
  6. operator.ne_Python operator.ne()函数与示例
  7. scp linux 自动化,expect(spawn) 自动化git提交和scp拷贝---centos(linux)
  8. openwrt dhcp 无法获取ip_电脑的 ip 是怎么来的呢?我又没有配置过
  9. 3-20Pytorch与张量裁剪运算
  10. Mybatis resultMap空值映射问题解决
  11. Jsp+Servlet+Mysql实现的在线图书商城源码
  12. IO之流程与buffer 图
  13. java quartz xml_java 使用quartz 定时xml 配置 与注解 以及注意事项
  14. 大觉寺到鹫峰线路_大觉寺到鹫峰怎么走
  15. 支气管炎的饮食要注意哪些
  16. win10自带虚拟机好用吗_虚拟机的新选择,win10自带Hyper-V 虚拟机
  17. 谷歌浏览器Google Chrome如何在打开新标签页时设置指定网址
  18. C# 给自己的网址接入微信扫描登录入口
  19. 基于统计学习---面向新闻的发生地与提及地检测
  20. 【论文精度】AutoBERT-Zero (使用NAS搜索预训练语言模型)

热门文章

  1. 操作系统2--操作系统结构
  2. mysql中在表中insert数据时,有重复主键id时,变成update
  3. openGL学习笔记(1)——常用方法原型解释
  4. ubuntu系统下载编译android源码
  5. linux调试C++错误: 程序中有游离的‘\240’‘\302’
  6. Linux进程间通信--进程,信号,管道,消息队列,信号量,共享内存
  7. asp.net的Ajax学习进阶
  8. Linux上隐藏进程名(初级版)
  9. 迁移博客到香港虚拟空间
  10. PE文件和COFF文件格式分析——签名、COFF文件头和可选文件头3