标签:c++
Description
Input
Output
Sample Input
2 12345 3 67890 0 0
Sample Output
-- -- --
| | | | | |
| | | | | |
-- -- -- --
| | | | |
| | | | |
-- -- --
--- --- --- --- ---
| | | | | | | |
| | | | | | | |
| | | | | | | |
--- --- ---
| | | | | | | |
| | | | | | | |
| | | | | | | |
--- --- --- ---
输入的两个数分别是数字的尺寸 和要显示的数字组合 (注意:每两组数据空一行,每两个数字空一格)
代码:
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
char e[20][3]= {" -","-"};
char q[33];
char w[1][2]= {"|"};
int m;
int i,j,k;
int t=0;
while(scanf("%d%s",&m,q)!=EOF)
{
if(m==0)
continue;
if(t!=0)
cout<<endl;
t++;
if(m==0&&q[0]=='0')
break;
for(i=0; i<=strlen(q)-1; i++)
{
if(i!=0)
cout<<' ';
if(q[i]=='1'||q[i]=='4')
{
for(j=1; j<=m+2; j++)
cout<<' ';
}
else
{
cout<<' ';
for(j=1; j<=m; j++)
{
cout<<e[1];
}
cout<<' ';
}
}
cout<<endl;
for(i=1; i<=m; i++)
{
for(k=0; k<=strlen(q)-1; k++)
{
if(k!=0)
cout<<' ';
if(q[k]=='5'||q[k]=='6')
{
cout<<w[0];
for(j=0; j<=m; j++)
cout<<' ';
}
else if(q[k]=='1'||q[k]=='2'||q[k]=='3'||q[k]=='7')
{
for(j=0; j<=m; j++)
cout<<' ';
cout<<w[0];
}
else
{
cout<<w[0];
for(j=0; j<m; j++)
cout<<' ';
cout<<w[0];
}
}
cout<<endl;
}
for(i=0; i<strlen(q); i++)
{
if(i!=0)
cout<<' ';
if(q[i]=='1'||q[i]=='7'||q[i]=='0')
{
for(j=1; j<=m+2; j++)
cout<<' ';
}
else
{
cout<<' ';
for(j=1; j<=m; j++)
{
cout<<e[1];
}
cout<<' ';
}
}
cout<<endl;
for(i=1; i<=m; i++)
{
for(k=0; k<=strlen(q)-1; k++)
{
if(k!=0)
cout<<' ';
if(q[k]=='2')
{
cout<<w[0];
for(j=0; j<=m; j++)
cout<<' ';
}
else if(q[k]=='0'||q[k]=='8'||q[k]=='6')
{
cout<<w[0];
for(j=0; j<m; j++)
cout<<' ';
cout<<w[0];
}
else
{
for(j=0; j<=m; j++)
cout<<' ';
cout<<w[0];
}
}
cout<<endl;
}
for(i=0; i<strlen(q); i++)
{
if(i!=0)
cout<<' ';
if(q[i]=='1'||q[i]=='7'||q[i]=='4')
{
for(j=1; j<=m+2; j++)
cout<<' ';
}
else
{
cout<<' ';
for(j=1; j<=m; j++)
{
cout<<e[1];
}
cout<<' ';
}
}
cout<<endl;
}
return 0;
}
把没组数字分为五段 (三横二竖) 其实写出前两段 后三段也差不多了。。。
这次终于把速度提高了一点= =
显示出来的数字还挺 好看的 哈
POJ 1102 LC-Display 模拟,布布扣,bubuko.com
标签:c++
原文地址:http://blog.csdn.net/axuan_k/article/details/38231955