博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
洛谷 P1598 垂直柱状图【字符串】
阅读量:6967 次
发布时间:2019-06-27

本文共 2113 字,大约阅读时间需要 7 分钟。

题目描述

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

输入输出格式

输入格式:

 

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

 

输出格式:

 

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

 

输入输出样例

输入样例#1: 
THE QUICK BROWN FOX JUMPED OVER THE LAZY DOG.THIS IS AN EXAMPLE TO TEST FOR YOURHISTOGRAM 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

说明

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

 

【分析】:注意数组要开大一点!一路扫过去,把所有单词出现的次数记录下来,然后模拟一个输出。

【代码】:

#include
#include
#include
#include
using namespace std;int cnt[500];//定义计数数组string a;int main(){ int i,j,n,maxn=0; //char a[200]; for(i=0;i<4;i++) { getline(cin,a);//gets读入 // n=strlen(a); for(j=0;j
='A'&&a[j]<='Z') cnt[a[j]-'A']++;//统计字符出现次数 } for(i=0;i<26;i++) maxn=max(maxn,cnt[i]);//最多次数(最高柱状图) for(i=maxn;i>0;i--) { for(j=0;j<26;j++) if(cnt[j]>=i) printf("* "); else printf(" ");//模拟,是可以输出的就输出*,否则跳过 printf("\n"); }//换行 /*for(i=0;i<26;i++) printf("%c ",i+'A');//输出a~z*/ for(char i='A';i<'Z';i++) cout << i << " ";//输出A-Y,后面都有一个空格 cout << "Z";//输出Z,后面没有空格}
模拟

 

#include 
#include
#include
using namespace std;int main(){ string s;//输入变量 int i,j,len,max=0;char k;//len长度,max为最多数(高度) map
zm;//定义一个char到int的map变量,存储字母出现个数 for (k='A';k<='Z';k++) zm[k]=0;//A~Z分别设初值为0 for (i=0;i<4;i++)//4行 { getline (cin,s);//读取一行 len=s.size();///求取长度 for (j=0;j
View Code 2

 

转载于:https://www.cnblogs.com/Roni-i/p/7730705.html

你可能感兴趣的文章
[转]Oracle ROWNUM用法和分页查询总结
查看>>
zset类型以及其操作
查看>>
MUI --- h.js无效
查看>>
【Java面试题】24 sleep() 和 wait() 有什么区别? 详细解析!!!!
查看>>
如何使用指向类的成员函数的指针(详解!)
查看>>
Win10系列:JavaScript多媒体
查看>>
https配置
查看>>
C/C++产生随机数
查看>>
iOS:基于RTMP的视频推流
查看>>
html学习笔记
查看>>
linux下getrlimit与sysconf函数
查看>>
使用NPOI生成Excel级联列表
查看>>
Python 集成开发环境(IDE)
查看>>
Linux CGroup
查看>>
jenkins安装与配置
查看>>
bzoj 4871: [Shoi2017]摧毁“树状图” [树形DP]
查看>>
go语言中的数组
查看>>
对做技术的反思
查看>>
TP框架中模糊查询实现
查看>>
分布式事物的原理图
查看>>