题目大意:给你一个数字n和字体大小s,输出数字的液晶显示。直接模拟,代码如下:

 #include <stdio.h>
void draw(int n,int s,int row)
{
int i;
if(row==)
{
printf(" ");
if(n==||n==||(n>=&&n<=)||n==)
for(i=;i<s;i++)
printf("-");
else for(i=;i<s;i++)
printf(" ");
printf(" ");
}
else if(<=row&&row<=s+)
{
if(n==||(<=n&&n<=)||n==||n==||n==)
printf("|");
else printf(" ");
for(i=;i<s;i++)
printf(" ");
if((<=n&&n<=)||(<=n&&n<=)||n==)
printf("|");
else printf(" ");
}
else if(row==s+)
{
printf(" ");
if((<=n&&n<=)||n==||n==)
for(i=;i<s;i++)
printf("-");
else for(i=;i<s;i++)
printf(" ");
printf(" ");
}
else if(s+<=row&&row<=*s+)
{
if(n==||n==||n==||n==)
printf("|");
else printf(" ");
for(i=;i<s;i++)
printf(" ");
if(n==||(<=n&&n<=)||n==)
printf("|");
else printf(" ");
}
else if(row==*s+)
{
printf(" ");
if(n==||n==||n==||n==||n==||n==||n==)
for(i=;i<s;i++)
printf("-");
else for(i=;i<s;i++)
printf(" ");
printf(" ");
}
} int main()
{
int s,n,p,k,i,j;
int digit[];
while(scanf("%d%d",&s,&n)!=EOF)
{
if(s==&&n==) break;
if(n)
{
p=;
while(n)
{
digit[p++]=n%;
n/=;
}
k=p;
}
else
{
digit[]=;
k=;
}
for(i=;i<=*s+;i++)
{
draw(digit[k-],s,i);
for(j=k-;j>=;j--)
{
printf(" ");
draw(digit[j],s,i);
}
printf("\n");
}
printf("\n");
}
return ;
}
05-11 13:55
查看更多