PersonalCorpus 版 (精华区)
41685 2002-10-15 00:53:31 Accepted
1146 C++ 00:00.00 384K Big Guava
char scr[23][110];
void drawc(int s, int x, int y)
{
for (int i=0;i<s;i++) scr[y+i][x]='|';
}
void drawr(int s, int x, int y)
{
for (int i=0;i<s;i++) scr[y][x+i]='-';
}
void draw7(int s, int x, int type)
{
switch (type) {
case 1: drawc(s,x,1); break;
case 2: drawc(s,x,s+2); break;
case 3: drawr(s,x+1,0); break;
case 4: drawr(s,x+1,s+1); break;
case 5: drawr(s,x+1,s+s+2); break;
case 6: drawc(s,x+s+1,1); break;
case 7: drawc(s,x+s+1,s+2); break;
}
}
void writenum(int s, int n, int x)
{
switch (n) {
case 1: draw7(s,x,6);draw7(s,x,7); break;
case 2: draw7(s,x,3);draw7(s,x,6);draw7(s,x,4);draw7(s,x,2);
draw7(s,x,5); break;
case 3: draw7(s,x,3);draw7(s,x,6);draw7(s,x,4);draw7(s,x,7);
draw7(s,x,5); break;
case 4: draw7(s,x,1);draw7(s,x,6);draw7(s,x,4);draw7(s,x,7);
break;
case 5: draw7(s,x,3);draw7(s,x,1);draw7(s,x,4);draw7(s,x,7);
draw7(s,x,5); break;
case 6: draw7(s,x,3);draw7(s,x,1);draw7(s,x,4);draw7(s,x,2);
draw7(s,x,7);draw7(s,x,5); break;
case 7: draw7(s,x,3);draw7(s,x,6);draw7(s,x,7); break;
case 8: draw7(s,x,1);draw7(s,x,2);draw7(s,x,3);draw7(s,x,4);
draw7(s,x,5);draw7(s,x,6);
draw7(s,x,7);draw7(s,x,8); break;
case 9: draw7(s,x,1);draw7(s,x,3);draw7(s,x,4);draw7(s,x,5);
draw7(s,x,6);
draw7(s,x,7);draw7(s,x,8); break;
case 0: draw7(s,x,1);draw7(s,x,2);draw7(s,x,3);draw7(s,x,5);
draw7(s,x,6);
draw7(s,x,7);draw7(s,x,8); break;
}
}
int main()
{
#ifndef ONLINE_JUDGE
freopen("c:\\0acm\\zju\\i1146","r",stdin);
freopen("c:\\0acm\\zju\\o1146","w",stdout);
#endif
int i,j,k,n,s;
char t[15];
while (1) {
scanf("%d%d\n",&s,&n);
if ((s==0)&&(n==0)) break;
sprintf(t,"%d",n);
memset(scr,' ',sizeof(scr));
for (i=0;t[i];i++) writenum(s,t[i]-48,(s+3)*i);
for (i=0;i<s+s+3;i++) {
scr[i][strlen(t)*(s+3)-1]=0;
printf("%s\n",scr[i]);
}
printf("\n");
}
}
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.284毫秒