题目描述
液晶屏上,每个阿拉伯数字都是可以显示成 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
#include<iostream>
#include<string>
using namespace std;
string num[10][5]={
{"XXX","X.X","X.X","X.X","XXX"},
{"..X","..X","..X","..X","..X"},
{"XXX","..X","XXX","X..","XXX"},
{"XXX","..X","XXX","..X","XXX"},
{"X.X","X.X","XXX","..X","..X"},
{"XXX","X..","XXX","..X","XXX"},
{"XXX","X..","XXX","X.X","XXX"},
{"XXX","..X","..X","..X","..X"},
{"XXX","X.X","XXX","X.X","XXX"},
{"XXX","X.X","XXX","..X","XXX"}
};
int main(){
int n;
string nums;
cin>>n>>nums;
for(int i = 0;i<5;i++){
for(int j = 0;j<n;j++){
int number = nums[j]-'0';
cout<<num[number][i];
if(j!=n-1){
cout<<".";
}
}
cout<<endl;
}
}