经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » C++ » 查看文章
1638图形
来源:cnblogs  作者:knbit  时间:2021/6/7 9:18:56  对本文有异议

  咕了这么久……最近总算抽得出一点儿时间来写篇博客了。很久没更,都不太知道该发些什么了。想了好一会儿,终于决定,更一下我最近做过的一些比较难得题吧。(各位大佬们多多指教)

  以下是正文:

 

 

  

描述

贝贝最近玩起了字符游戏,规则是这样的:读入四行字符串,其中的字母都是大写的,乐乐想打印一个柱状图显示每个大写字母的频率。你能帮助他吗?

 

输入

输入文件共有4行:每行为一串字符,不超过72个字符。

 

输出

与样例的格式保持严格一致。

 

输入样例 1 

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

输出样例 1

  1. *
  2. *
  3. * *
  4. * * * *
  5. * * * *
  6. * * * * * *
  7. * * * * * * * * * *
  8. * * * * * * * * * * * * *
  9. * * * * * * * * * * * * * * * * * *
  10. * * * * * * * * * * * * * * * * * * * * * * * * * *
  11. 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

说明:

1.输出的相邻字符间有一个空格。

2.最后一行的26个大写字母每次必须输出。

3.大写字母A所在的第一列前没有空格。

 

  这一题我的思路很简单,全部输入,然后写一个桶排。然后从桶排最高的字母开始,写个循环挨个往下搜索。只要这个字母出现的次数大于循环i,就输出。最后一行单独输出。

 

  代码:

  1. 1 #include<bits/stdc++.h>
  2. 2 using namespace std;
  3. 3 int s[26];
  4. 4 int main()
  5. 5 {
  6. 6 int j,n,maxn=0;
  7. 7 string a;
  8. 8 for(int i=1;i<=4;i++)
  9. 9 {
  10. 10 getline(cin,a);
  11. 11 n=a.size();
  12. 12 for(int j=0;j<n;j++)
  13. 13 {
  14. 14 if(a[j]>='A'&&a[j]<='Z') s[a[j]-'A']++;
  15. 15 }
  16. 16 }
  17. 17 for(int i=0;i<26;i++)maxn=max(maxn,s[i]);
  18. 18 for(int i=maxn;i>0;i--)
  19. 19 {
  20. 20 for(j=0;j<26;j++)
  21. 21 {
  22. 22 if(s[j]>=i&&s[j]!=25) cout<<"* ";
  23. 23 if(s[j]<i&&s[j]!=25) cout<<" ";
  24. 24 if(a[i]>=i&&s[j]==25) cout<<"*";
  25. 25 if(a[i]<i&&s[j]==25) cout<<" ";
  26. 26 }
  27. 27 printf("\n");
  28. 28 }
  29. 29 for(int i=0;i<26;i++) printf("%c ",i+'A');

 

 

PS:

  这一道题其实我磕了很久都没做出来,原因嘛……大致的思路都有,每个需要注意的点也都挨个儿检查过了,但就是AC不了。最后上了一下洛谷,看了一篇大佬和我的思路比较相似的题解,才找出了我错误的那一个点。修改了几次之后,我的代码才终于AC了。说起来也是一段艰辛的故事。希望不会做这道题的朋友们不会像我这样。

 

(疫情复发,注意身体健康)

原文链接:http://www.cnblogs.com/cyk20081108/p/14837370.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号