题目描述
液晶屏上,每个阿拉伯数字都是可以显示成 3×53×5 的点阵的(其中 X
表示亮点,.
表示暗点)。现在给出数字位数(不超过 100100)和一串数字,要求输出这些数字在显示屏上的效果。数字的显示方式如同样例输出,注意每个数字之间都有一列间隔。
输入格式
第一行输入一个正整数 �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≤�≤1001≤n≤100。
身为弱狗,没什么好办法的,就只能看看直接手打出来,我觉得这是最快能够接出来的,但是这个格式还是不对,所以可以看看哪里的格式不对嘛?
#include <iostream>
using namespace std;
int main() {
int n;
cin>>n;
int t,m;
cin>>t;
while(n--){
m=t%10;
if(m==0)
printf( "XXX.\n"
"X.X.\n"
"X.X.\n"
"X.X.\n"
"XXX.\n");
if(m==1)
printf( "..X.\n"
"..X.\n"
"..X.\n"
"..X.\n"
"..x.\n");
if(m==2)
printf( "XXX.\n"
"..X.\n"
"XXX.\n"
"X...\n"
"XXX.\n");
if(m==3)
printf("XXX.\n"
"..X.\n"
"XXX.\n"
"..X.\n"
"XXX.\n");
if(m==4)
printf( "X.X.\n"
"X.X.\n"
"XXX.\n"
"..X.\n"
"..X.");
if(m==5)
printf("XXX.\n"
"X.X.\n"
"XXX.\n"
"..X.\n"
"XXX.\n");
if(m==6)
printf("XXX.\n"
"X...\n"
"XXX.\n"
"X.X.\n"
"XXX.\n");
if(m==7)
printf("XXX.\n"
"..X.\n"
"..X.\n"
"..X.\n"
"..X.\n");
if(m==8)
printf("XXX.\n"
"X.X.\n"
"XXX.\n"
"X.X.\n"
"XXX.\n");
if(m==9)
printf("XXX\n"
"X.X\n"
"XXX\n"
"..X\n"
"XXX\n");
m=m/10;
}
return 0;
}