P1598 垂直柱状图(模拟)
题目描述
写一个程序从输入文件中去读取四行大写字母(全都是大写的,每行不超过100个字符),然后用柱状图输出每个字符在输入文件中出现的次数。严格地按照输出样例来安排你的输出格式。
输入格式
四行字符,由大写字母组成,每行不超过100个字符
输出格式
由若干行组成,前几行由空格和星号组成,最后一行则是由空格和字母组成的。在任何一行末尾不要打印不需要的多余空格。不要打印任何空行。
输入输出样例
输入
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
说明/提示
每行输出后面不允许出现多余的空格。
我们可以建立一个数组,然后用出现次数最多的字符数量控制行,进行打印,就行了,一般文章这种我们都用getline,可以直接打出一串字符串,而cin的输入打不出来完整的含空格的字符串。
具体实现看代码。
#include<bits/stdc++.h>
using namespace std;
string s1,s2,s3,s4;
int maxx,a[30];
char b[110][30];//最后输出的数组。
int main(){getline(cin,s1);getline(cin,s2);getline(cin,s3);getline(cin,s4);//读入数据for(int i=0;i<s1.size();i++){if(s1[i]>='A'&&s1[i]<='Z'){a[s1[i]-'A'+1]++;}}for(int i=0;i<s2.size();i++){if(s2[i]>='A'&&s2[i]<='Z'){a[s2[i]-'A'+1]++;}}for(int i=0;i<s3.size();i++){if(s3[i]>='A'&&s3[i]<='Z'){a[s3[i]-'A'+1]++;}}for(int i=0;i<s4.size();i++){if(s4[i]>='A'&&s4[i]<='Z'){a[s4[i]-'A'+1]++;}}//统计字母for(int i=1;i<=26;i++){maxx=max(maxx,a[i]);}//求最高的高度for(int i=1;i<=26;i++){for(int j=maxx;j>=maxx-a[i]+1;j--){b[j][i]='*';}for(int j=maxx-a[i];j>=1;j-- )b[j][i]=' ';b[maxx+1][i]=i+'A'-1;}for(int i=1;i<=maxx+1;i++){for(int j=1;j<=51;j++){if(j%2==0){cout<<' ';continue;}cout<<b[i][j/2+1];}cout<<endl;//如果听懂,希望留下你的赞}
}
P1598 垂直柱状图(模拟)相关推荐
- 洛谷 P1598 垂直柱状图【字符串+模拟】
P1598 垂直柱状图 题目描述 写一个程序从输入文件中去读取四行大写字母(全都是大写的,每行不超过72个字符),然后用柱状图输出每个字符在输入文件中出现的次数.严格地按照输出样例来安排你的输出格式. ...
- P1598 垂直柱状图
P1598 垂直柱状图 题目描述 写一个程序从输入文件中去读取四行大写字母(全都是大写的,每行不超过100个字符),然后用柱状图输出每个字符在输入文件中出现的次数.严格地按照输出样例来安排你的输出格式 ...
- 洛谷 P1598 垂直柱状图(输入带空格的字符串)
P1598 垂直柱状图 菜鸟生成记(25) 这个题有点水,考察字符串的基本功(哎!就喜欢这考基本功的水题) 这一题涉及到输入带空格的字符串输入和格式化输出; 唉!只从gets死了(C11删除gets, ...
- 洛谷 P1598 垂直柱状图【字符串】
题目描述 写一个程序从输入文件中去读取四行大写字母(全都是大写的,每行不超过72个字符),然后用柱状图输出每个字符在输入文件中出现的次数.严格地按照输出样例来安排你的输出格式. 输入输出格式 输入格式 ...
- 【洛谷】P1598 垂直柱状图
题目地址: https://www.luogu.com.cn/problem/P1598 题目描述: 写一个程序从输入文件中去读取四行大写字母(全都是大写的,每行不超过100100100个字符),然后 ...
- P1598 垂直柱状图C++
题目描述 写一个程序从输入文件中去读取四行大写字母(全都是大写的,每行不超过100个字符),然后用柱状图输出每个字符在输入文件中出现的次数.严格地按照输出样例来安排你的输出格式. 输入格式 四行字符, ...
- P1598垂直柱状图
#include<iostream> #include<cstdio> #include <iomanip> #include<cmath> #incl ...
- 字符串——垂直柱状图(洛谷 P1598)
题目选自洛谷P1598 字符串的题确实够刁钻,有的明明思路很简单,但是写起来就很复杂. 这道题难点在于如何输出"柱状图". 用二维数组来存放每一行的结果再挨个输出吗? 显然这不太行 ...
- 计数后打印垂直柱状图(洛谷P1598题题解,Java语言描述)
前言 这题挺好玩的,打印出来颇有老式MP4播放 ♪Music♪ 的感觉 题目要求 P1598题目链接 分析 这题看着挺爽,问题是怎么实现呢? 我们先是要读进来这四行数据(题干说了就是4行),然后变为c ...
最新文章
- xilinx vivado烧录s29gl256p-bpi-x8
- 大牛出品:TensorFlow 2.0入门指南
- matlab 小练习,matlab初试牛刀__小练习
- jvm fastdebug
- SpringMVC+Spring3.2+Hibernate4整合实例
- e.preventdefault() 别滥用
- 大学计算机网络实验2,河南工业大学计算机网络实验报告2
- css列表大全,CSS中li列表样式汇总大全,全实例展示
- 华为lab-rs-v1-1.5_smart link
- .NET后台如何获取前台HMTL控件的值
- random是python的内置函数吗_Python 内置函数math,random
- 计算机二级java和c哪个难,计算机二级最好考哪个 考试难度怎么样
- uniapp ucharts统计图表
- 安装脚本实现百度云播放视频加速
- 谁先倒(15 分) 划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就输了,输家罚一杯酒
- 通俗易懂解释raid0和raid5_raid0和raid5区别是什么?
- 为什么面试官狂问八股文?我已经被三家公司问到哑口无言……
- IntelliJ IDEA 永久破解
- chrome表单自动填充默认样式-autofill
- C语言 正序分解整数