液晶显示屏

液晶显示屏

## 题目描述

液晶屏上,每个阿拉伯数字都是可以显示成 3*5 的点阵的(其中 'X' 表示亮点,'.' 表示暗点)。现在给出数字位数(不超过 100)和一串数字,要求输出这些数字在显示屏上的效果。数字的显示方式如同样例输出,注意每个数字之间都有一列间隔。

## 输入格式

第一行输入一个正整数 n,表示数字的位数。

第二行输入一个长度为 n 的自然数。

## 输出格式

输出五行,表示显示屏上的数字。

### 样例输入 #1
10
0123456789


### 样例输出 #1

XXX...X.XXX.XXX.X.X.XXX.XXX.XXX.XXX.XXX
X.X...X...X...X.X.X.X...X.....X.X.X.X.X
X.X...X.XXX.XXX.XXX.XXX.XXX...X.XXX.XXX
X.X...X.X.....X...X...X.X.X...X.X.X...X
XXX...X.XXX.XXX...X.XXX.XXX...X.XXX.XXX

【数据保证】
1 <=n <=100。

#include <bits/stdc++.h>   //真心打表啊!吐了!
using namespace std;
string ans[9];
string s;
int main()
{
    int n;
    cin>>n;
    cin>>s;
    for (int i=0;i<n;i++)
    {
        int x=s[i]-'0';
        if (x==0)
        {
            ans[0] +="XXX.";ans[1] +="X.X.";ans[2] +="X.X.";ans[3] +="X.X.";ans[4] +="XXX.";
        }
        else if (x==1)
        {
            ans[0] +="..X.";ans[1] +="..X.";ans[2] +="..X.";ans[3] +="..X.";ans[4] +="..X.";
        }
        else if (x==2)
        {
            ans[0] +="XXX.";ans[1] +="..X.";ans[2] +="XXX.";ans[3] +="X...";ans[4] +="XXX.";
        }
        else if (x==3)
        {
            ans[0] +="XXX.";ans[1] +="..X.";ans[2] +="XXX.";ans[3] +="..X.";ans[4] +="XXX.";
        }
        else if (x==4)
        {
            ans[0] +="X.X.";ans[1] +="X.X.";ans[2] +="XXX.";ans[3] +="..X.";ans[4] +="..X.";
        }
        else if (x==5)
        {
            ans[0] +="XXX.";ans[1] +="X...";ans[2] +="XXX.";ans[3] +="..X.";ans[4] +="XXX.";
        }
        else if (x==6)
        {
            ans[0] +="XXX.";ans[1] +="X...";ans[2] +="XXX.";ans[3] +="X.X.";ans[4] +="XXX.";
        }
        else if (x==7)
        {
            ans[0] +="XXX.";ans[1] +="..X.";ans[2] +="..X.";ans[3] +="..X.";ans[4] +="..X.";
        }
        else if (x==8)
        {
            ans[0] +="XXX.";ans[1] +="X.X.";ans[2] +="XXX.";ans[3] +="X.X.";ans[4] +="XXX.";
        }
        else if (x==9)
        {
            ans[0] +="XXX.";ans[1] +="X.X.";ans[2] +="XXX.";ans[3] +="..X.";ans[4] +="XXX.";
        }
    }
    for (int i=0;i<5;i++) ans[i]=ans[i].substr(0,ans[i].size()-1);
    for (int i=0;i<5;i++) cout<<ans[i]<<endl;
    return 0;
}


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值