当前位置: 首页 > 编程日记 > 正文

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

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

相关文章:

java开发培训中消息中间件的优势有哪些

系统解耦 交互系统之间没有直接的调用关系&#xff0c;只是通过消息传输&#xff0c;故系统侵入性不强&#xff0c;耦合度低。 提高系统响应时间 例如原来的一套逻辑&#xff0c;完成支付可能涉及先修改订单状态、计算会员积分、通知物流配送几个逻辑才能完成;通过MQ 架构设计&…

UIView 的 autoresizingMask 属性 详解。

在 UIView 中有一个autoresizingMask的属性&#xff0c;它对应的是一个枚举的值&#xff08;如下&#xff09;&#xff0c;属性的意思就是自动调整子控件与父控件中间的位置&#xff0c;宽高。 enum { UIViewAutoresizingNone 0, UIViewAutoresizingFle…

刻意练习:LeetCode实战 -- Task21. 二叉树的最大深度

背景 本篇图文是LSGO软件技术团队组织的 第二期基础算法&#xff08;Leetcode&#xff09;刻意练习训练营 的打卡任务。本期训练营采用分类别练习的模式&#xff0c;即选择了五个知识点&#xff08;数组、链表、字符串、树、贪心算法&#xff09;&#xff0c;每个知识点选择了…

spring中@value注解需要注意

转自&#xff1a;https://blog.csdn.net/qiuhan/article/details/47089329 首先&#xff0c;value需要参数&#xff0c;这里参数可以是两种形式&#xff1a;Value("#{configProperties[t1.msgname]}")或者Value("${t1.msgname}")&#xff1b; 其次&#xf…

学Java需要用到的软件快收藏!

java编程语言学起来是比较繁琐的&#xff0c;很多java工程师不管是工作还是学习&#xff0c;都会用到一些辅助工具&#xff0c;对于想要学习java技术的人来说&#xff0c;利用java辅助软件学习会比较更有效率&#xff0c;下面小编就为大家一一整理一下学Java需要用到的软件有哪…

刻意练习:LeetCode实战 -- Task22. 二叉树的中序遍历

背景 本篇图文是LSGO软件技术团队组织的 第二期基础算法&#xff08;Leetcode&#xff09;刻意练习训练营 的打卡任务。本期训练营采用分类别练习的模式&#xff0c;即选择了五个知识点&#xff08;数组、链表、字符串、树、贪心算法&#xff09;&#xff0c;每个知识点选择了…

Oracle round函数是什么意思?怎么运用?

如何使用 Oracle Round 函数 (四舍五入) 描述 : 传回一个数值&#xff0c;该数值是按照指定的小数位元数进行四舍五入运算的结果。 SELECT ROUND( number, [ decimal_places ] ) FROM DUAL 参数: number : 欲处理之数值 decimal_places : 四舍五入 , 小数取几位 ( 预设为 0 ) S…

Spring MVC前后端的数据传输

本篇文章主要介绍了Spring MVC中如何在前后端传输数据。 后端 ➡ 前端 在Spring MVC中这主要通过Model将数据从后端传送到前端&#xff0c;一般的写法为&#xff1a; RequestMapping(value "/index", method RequestMethod.POST) public String index(Model model)…

参加java培训,要避免这几个误区!

​ java技术在近几年学习的人越来越多&#xff0c;小编在这里提醒同学们&#xff0c;想要学好java技术&#xff0c;除了报班系统培训之外&#xff0c;还要找到适合自己的学习方法&#xff0c;以下几点误区同学们一定要避免! ​  参加java培训&#xff0c;要避免这几个误区! 1…

SQL优化整理。

其实SQL能力很差劲&#xff0c;简单查询还成&#xff0c;复杂查询以及优化&#xff0c;基本脑子里没有概念。了解一下概念&#xff0c;然后打算找本理论书好好看看。 先到处找了些优化的sql&#xff0c;整理出来&#xff0c;记录一下。1、对查询进行优化&#xff0c;应尽量避免…

PHP开发框架之YII框架学习——碾压ThinkPHP不是梦

前 言 JRedu 程序猿是一种慵懒的生物&#xff01;能少敲一行代码&#xff0c;绝对不会多敲一个字符&#xff01;所以&#xff0c;越来越多的开发框架应运而生&#xff0c;在帮助我们完成功能的同时&#xff0c;极大程度上也帮我们节省了人力物力&#xff0c;而且也提高了系统的…

刻意练习:LeetCode实战 -- 二叉树的前序遍历

背景 今天&#xff0c;第二期基础算法&#xff08;Leetcode&#xff09;刻意练习训练营 的打卡任务是二叉树的中序遍历&#xff0c;由于二叉树的遍历方式通常来说有四种&#xff1a;前序遍历、中序遍历、后序遍历以及层次遍历&#xff0c;而LeetCode也有二叉树的前序遍历题目&…

接口测试要如何做数据准备

数据准备是接口测试过程中不可或缺的一步&#xff0c;也是花费时间很长的工作&#xff0c;因为程序的功能就是处理数据。那么在接口测试中&#xff0c;我们要怎样来准备数据呢?小编整理了以下一些关于数据准备的方法&#xff0c;希望对大家能有所帮助。 数据准备分为两种类型&…

刻意练习:LeetCode实战 -- 二叉树的后序遍历

背景 今天&#xff0c;第二期基础算法&#xff08;Leetcode&#xff09;刻意练习训练营 的打卡任务是二叉树的中序遍历&#xff0c;由于二叉树的遍历方式通常来说有四种&#xff1a;前序遍历、中序遍历、后序遍历以及层次遍历&#xff0c;而LeetCode也有二叉树的后序遍历题目&…

数据库加锁(转)

1 如何锁一个表的某一行 SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED SELECT * FROM table ROWLOCK WHERE id 1 2 锁定数据库的一个表 SELECT * FROM table WITH (HOLDLOCK) 加锁语句&#xff1a; sybase: update 表 set col1col1 where 10 ; MSSQL: select col1 from …

学好web前端开发要注意哪些问题

web前端学起来是比较困难的&#xff0c;当然想要学好web前端技术&#xff0c;那么有一些注意事项一定是要看的&#xff0c;下面小编就为大家详细的介绍一下学好web前端开发要注意哪些问题? ​  学好web前端开发要注意哪些问题? 基础&#xff1a;无论做什么都一定要有扎实的…

Android include 标签

android中include标签是为了便于控件的覆用的一个很好解决方案。 但是也有一些需要注意的地方&#xff0c;下面是本人在项目中碰到过的一个问题&#xff0c;做此记录&#xff0c;便于以后查看。 include标签用法。 1.新建一个xml文件&#xff0c;命名 head.xml head.xml文件内容…

刻意练习:LeetCode实战 -- 不同的二叉搜索树

背景 今天&#xff0c;第二期基础算法&#xff08;Leetcode&#xff09;刻意练习训练营 的打卡任务是“不同的二叉搜索树 II”&#xff0c;而LeetCode也有“不同的二叉搜索树”题目&#xff0c;故一起写了。 题目 题号&#xff1a;96难度&#xff1a;中等https://leetcode-cn.…

15. Python 函数

1. 函数的写法&#xff0c;函数的调用【函数的一般形式】定义一个函数要有以下规则&#xff1a;&#xff08;1&#xff09;函数代码块以 def 关键词开头&#xff0c;后接函数标识符名称和小括号&#xff08;&#xff09;&#xff1b;&#xff08;2&#xff09;任何传入参数和自…

Java培训找什么样的机构比较好

​ Java培训找什么样的机构比较好?很多人都比较关注java技术&#xff0c;想要学习java技术&#xff0c;参加相关工作&#xff0c;但如今市面上的java培训机构那么多&#xff0c;怎么样选择比较靠谱呢?来看看下面的详细介绍吧。 ​  Java培训找什么样的机构比较好?小编这里…

刻意练习:LeetCode实战 -- Task23. 不同的二叉搜索树 II

背景 本篇图文是LSGO软件技术团队组织的 第二期基础算法&#xff08;Leetcode&#xff09;刻意练习训练营 的打卡任务。本期训练营采用分类别练习的模式&#xff0c;即选择了五个知识点&#xff08;数组、链表、字符串、树、贪心算法&#xff09;&#xff0c;每个知识点选择了…

windows phone 越狱教程:利用学生帐号解锁并部署软件教程(图文并茂)

之前老是看到有学生帐号可以越狱,但一直以来都觉得比较复杂,不想下手.近日,TX微信出来了,很多人都想装,可是装不了,所以下决心研究一下学生帐号越狱.网上看教程,发现很多都是不全面,有些只有一半,最后还是决定按我自己申请学生帐号时的流程写一个教程,希望对大家有所帮助. 学生…

基于web创建逼真的3D图形 | CSS技巧

在成为一名web开发者之前&#xff0c;我从事于视觉设计行业&#xff0c;创造屡获殊荣&#xff0c;电影和电视节目等高端3D效果&#xff0c;例如 Tron, The Thing, Resident Evil,和 Vikings 。为了能够创造这些效果&#xff0c;我们需要使用高度复杂的动画软件&#xff0c;例如…

jQuery元素内容操作的方法有多少种?

jQuery中操作元素内容的方法&#xff0c;主要包括html()方法、text()方法和val()方法。html()方法用于获取或设置元素的HTML内容&#xff0c;text()方法用于获取或设置元素的文本内容&#xff0c;val()方法用来获取或设置表单元素的value值。具体使用说明如表1所示。 表1 元素内…

获取SQLServer数据库中所有表

对于获取SQLSERVER数据库中所有表&#xff0c;首先第一步引有SQLDMO.dll 找到文件路径: C:\Program Files\Microsoft SQL Server\80\Tools\Binn\SQLDMO.dll 找到SQLDOM.DLL //在后台写方法 using System;using System.Collections.Generic;using System.Linq;using Syst…

刻意练习:LeetCode实战 -- Task24. 恢复二叉搜索树

背景 本篇图文是LSGO软件技术团队组织的 第二期基础算法&#xff08;Leetcode&#xff09;刻意练习训练营 的打卡任务。本期训练营采用分类别练习的模式&#xff0c;即选择了五个知识点&#xff08;数组、链表、字符串、树、贪心算法&#xff09;&#xff0c;每个知识点选择了…

Solaris下ftp配置(初稿-待补充)

1.自带ftp版本 Version wu-2.6.2 2.ftp启动与停止 启动并启用ftp: svcadm enable network/ftp 停止并禁用ftp: svcadm disable network/ftp 3.使某个系统用户无法使用ftp或者恢复使用ftp vi /etc/ftpd/ftpusers 向其中添加要禁止使用ftp的…

女生参加web前端培训可以吗

​ 近几年&#xff0c;web前端被视为互联网行业最热门编程语言技术之一&#xff0c;越来越多的人开始想要学习web前端技术&#xff0c;其中不乏有一些女性学习&#xff0c;那么很多人就要问了&#xff0c;女生参加web前端培训可以吗?我们来看看下面的详细介绍吧。 ​  女生参…

春节期间停止更新

非常抱歉地跟各位说一下&#xff0c;因为老家并没有拉宽带&#xff0c;所以春节期间无法进行更新。虽然说我可以背着笔记本回家&#xff0c;然后再到朋友处蹭一下网络。但想到一年365天&#xff0c;能回家的就那么几天&#xff0c;只是想好好陪陪父母&#xff0c;伴伴自己的老婆…

刻意练习:LeetCode实战 -- Task26.判断子序列

背景 本篇图文是LSGO软件技术团队组织的 第二期基础算法&#xff08;Leetcode&#xff09;刻意练习训练营 的打卡任务。本期训练营采用分类别练习的模式&#xff0c;即选择了五个知识点&#xff08;数组、链表、字符串、树、贪心算法&#xff09;&#xff0c;每个知识点选择了…