#include <iostream>#include <string>using namespace std; //数字矩阵string number[5][10]={" - ", " ", " - ", " - ", " ", " - ", " - ", " - ", " - ", " - ","| |", " |", " |", " |", "| |", "| ", "| ", " |", "| |", "| |"," ", " ", " - ", " - ", " - ", " - ", " - ", " ", " - ", " - ","| |", " |", "| ", " |", " |", " |", "| |", " |", "| |", " |"," - ", " ", " - ", " - ", " ", " - ", " - ", " ", " - ", " - " };int bitnumber[8]; //用于存储整数的每一位数//得到整数每个位上的数字,以及数字的长度int getlength (int number){ int len=0; if (number==0){ bitnumber[0]=0;return 1;} //如果输入的数据是0的话 while(number) { bitnumber[len]=number%10; number=number/10; len++; } return len; }//液晶显示程序void display(int size,int input){ int row; //行计数器,数字一行一行的显示 int bit; //第几位数 int numberofbit=getlength(input); for(row=0; row<2*size+3; row++) { for(bit=0;bit<numberofbit;bit++) //以行为单位显示数字 { int colomn=bitnumber[numberofbit-bit-1]; string drawnumber; if(row==0) drawnumber=number[0][colomn]; if(row==size+1) drawnumber=number[2][colomn];if(row==2*size+2) drawnumber=number[4][colomn];if(row>0&&row<size+1) drawnumber=number[1][colomn];if(row>size+1&&row<2*size+2)drawnumber=number[3][colomn];cout<<drawnumber[0]; for(int k=0;k<size;k++) { cout<<drawnumber[1]; } cout<<drawnumber[2]; if(bit!=numberofbit-1)cout<<' '; } cout<<endl; } }int main (){int size, input; //size为要显示的大小,input为输入的整数while(cin>>size>>input){if(size==0&&input==0) break;display(size,input); //输出该数的液晶显示cout<<endl; //两个数之间以空格符隔开}return 0;}