boj429.学姐的数码管-输出格式以及代码风格的考量

boj429.学姐的数码管

题目描述

学姐的七段数码管玩的出神入化。 现在给你一个浮点数,你需要把它以七段数码管的形式输出出来。 一个 (2n+1)n 的矩阵来表示七段数码管,若下标均从0开始,则以第0列的两个,第 n1 列的两个,第0行的一个,第 n 行的一个,第 2n 行的一个表示七个段。小数点所占矩形为 (2n+1)1 ,点在中间最下面一列。每一个数字或小数点矩阵用一列空格隔开。 数码管亮的部分用#覆盖,其余部分用空格补全,若一个数字或小数点的行末尾无#,也要用空格字符补全为 (2n+1)n  细节参见样例。

输入格式

输入有多组数据,数据不超过100组,每组数据给一个整数 n(3n10) ,和一个浮点数,输入保证每一个浮点数的总长度为4位且没有前导0。

输出格式

输出他的数码管显示。每组数据末尾输出一个空行。

输入样例

3 2330
3 1456
4 78.9

输出样例

### ### ### ###
  #   #   # # #
  #   #   # # #
### ### ### # #
#     #   # # #
#     #   # # #
### ### ### ###

  # # # ### ###
  # # # #   #  
  # # # #   #  
  # ### ### ###
  #   #   # # #
  #   #   # # #
  #   # ### ###

#### ####   ####
   # #  #   #  #
   # #  #   #  #
   # #  #   #  #
   # ####   ####
   # #  #      #
   # #  #      #
   # #  #      #
   # #### # ####

一开始完全没懂这题什么意思,后来才发现,就是字面那意思,什么七段管啊,分明就是摆火柴的小女孩。。。

思路很简单,就是分解这些数字然后输出就好了,不过,有三点需要注意

1.一定要初始化,为了省事,除了‘#’我都不想额外去管,所以全部初始化为‘ ’就可以了,而且是每次输入n 和四位浮点数的时候都要这么做,不然两次的‘#’和在一起,可想而知

2.不要输出多余的‘‘,因为数组一开始我是直接

 
 
for ( i = 0 ; i <= 2 * n ; i ++ ){
for ( j = 0 ; j < 4*n+3 ; j ++ ){
printf ( "%c" , mapp [ i ][ j ]);
}
看上去确实是,空格数+数字宽度*4,但是有小数点的时候,我每一行就会神不知鬼不觉的多出很多‘ ’;根本检查不出来啊!限制输出很重要的
#include 
     
     
      
      
#include 
      
      
       
       
#include 
       
       
        
        
double eps=1e-6;
char mapp[90][45];
/**
一下10个函数是用来输出0-9的
*/
void print0(int n,int locatey)
{
    int i,j;
    for(i=locatey;i
        
        
       
       
      
      
     
     
呵呵,你肯定想知道第三点。。。别急,我没忘呢
3.你不觉得上面的代码太累赘了吗?!!!我都觉得,可是怎么办呢,要知道所有的数字都是七段式的,也就是说,整个输出输入都是在画横线和竖线的...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值