📄 1332 lc-display.cpp
字号:
#include <cstdio>
#include <string>
using namespace std;
char num[1000];
char line[1000];
int n,len;
bool map[10][7]={
{1,1,1,0,1,1,1},
{0,0,1,0,0,1,0},
{1,0,1,1,1,0,1},
{1,0,1,1,0,1,1},
{0,1,1,1,0,1,0},
{1,1,0,1,0,1,1},
{1,1,0,1,1,1,1},
{1,0,1,0,0,1,0},
{1,1,1,1,1,1,1},
{1,1,1,1,0,1,1}
};
void printH(int pos)
{
int i,j,k;
for(i=0;i<len*(n+3)-1;i++)
line[i]=' ';
line[i]=0;
for(i=0;i<len;i++)
{
k=i*(n+3)+1;
if( map[ num[i]-'0' ][pos] )
for(j=0;j<n;k++,j++)
line[k]='-';
}
printf("%s\n",line);
}
void printV(int pos1,int pos2)
{
int i,j,k;
for(i=0;i<len*(n+3)-1;i++)
line[i]=' ';
line[i]=0;
for(i=0;i<len;i++)
{
j=i*(n+3);
if( map[ num[i]-'0' ][pos1] )
line[j]='|';
j+=n+1;
if( map[ num[i]-'0' ][pos2] )
line[j]='|';
}
for(i=0;i<n;i++)
printf("%s\n",line);
}
int main()
{
int i,j;
while( scanf("%d %s",&n,num)!=EOF)
{
if(n==0 && num[0]=='0' && num[1]==0)
break;
len=strlen(num);
printH(0);
printV(1,2);
printH(3);
printV(4,5);
printH(6);
printf("\n");
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -