蒜头君有一块数码管显示屏,只能显示数字。
每个数字的显示如下。
每 7 7 7 个数码管用来显示一个数字。
-
| |
-
| |
-
每个数字对应的输出如下。
- - - - - - - -
| | | | | | | | | | | | | |
- - - - - - -
| | | | | | | | | | | | |
- - - - - - -
当然为了看起来更形象,可以把数字放大输出,比如放大两倍每个数字对应如下
-- -- -- -- -- -- -- --
| | | | | | | | | | | | | |
| | | | | | | | | | | | | |
-- -- -- -- -- -- -- --
| | | | | | | | | | | | |
| | | | | | | | | | | | |
-- -- -- -- -- -- -- --
输入格式
输入两个整数 k ( 1 ≤ k ≤ 10 , 0 ≤ n ≤ 99999999 ) k(1 \le k \le 10, 0 \le n \le 99999999) k(1≤k≤10,0≤n≤99999999),分别表达放大的倍数和需要输出的数字。
输出格式
输出数码管显示的数字,数字每一位之间用一列空格隔开。
样例输入
2 12345
样例输出
-- -- --
| | | | | |
| | | | | |
-- -- -- --
| | | | |
| | | | |
-- -- --
样例输入
3 67890
样例输出
--- --- --- --- ---
| | | | | | | |
| | | | | | | |
| | | | | | | |
--- --- ---
| | | | | | | |
| | | | | | | |
| | | | | | | |
--- --- --- ---
代码
#include <iostream>
#include <cstdio>
using namespace std;
char pic[10][5][2]={
{{'-',' '},{'|','|'},{' ',' '},{'|','|'},{'-',' '}},
{{' ',' '},{' ','|'},{' ',' '},{' ','|'},{' ',' '}},
{{'-',' '},{' ','|'},{'-',' '},{'|',' '},{'-',' '}},
{{'-',' '},{' ','|'},{'-',' '},{' ','|'},{'-',' '}},
{{' ',' '},{'|','|'},{'-',' '},{' ','|'},{' ',' '}},
{{'-',' '},{'|',' '},{'-',' '},{' ','|'},{'-',' '}},
{{'-',' '},{'|',' '},{'-',' '},{'|','|'},{'-',' '}},
{{'-',' '},{' ','|'},{' ',' '},{' ','|'},{' ',' '}},
{{'-',' '},{'|','|'},{'-',' '},{'|','|'},{'-',' '}},
{{'-',' '},{'|','|'},{'-',' '},{' ','|'},{'-',' '}},
};
int main()
{
int k;
int cnt=0;
char buf;
int n[10];
cin>>k;
getchar();
while(scanf("%c",&buf)==1 && buf!=10)
{
n[cnt]=buf-'0';
cnt++;
}
for(int m=1;m<=5;m++)
{
if(m%2==1)
{
for(int j=0;j<cnt;j++)
{
cout<<" ";
for(int i=0;i<k;i++)
cout<< pic[n[j]][m-1][0];
cout<<" ";
if(j!=cnt-1)
cout<<" ";
}
cout<<endl;
}
else
{
for(int h=1;h<=k;h++)
{
for(int j=0;j<cnt;j++)
{
char a,b;
a=pic[n[j]][m-1][0];
b=pic[n[j]][m-1][1];
cout<<a;
for(int i=0;i<k;i++)
{
cout<<" ";
}
cout<<b;
if(j!=cnt-1)
cout<<" ";
}
cout<<endl;
}
}
}
return 0;
}