zoukankan      html  css  js  c++  java
  • UVa 706 & ZOJ 1146 LC-Display

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

     1 #include <stdio.h>
     2 void draw(int n,int s,int row)
     3 {
     4     int i;
     5     if(row==1)
     6     {
     7         printf(" ");
     8         if(n==2||n==3||(n>=5&&n<=9)||n==0)
     9             for(i=0;i<s;i++)
    10                 printf("-");
    11         else for(i=0;i<s;i++)
    12                 printf(" ");
    13         printf(" ");
    14     }
    15     else if(2<=row&&row<=s+1)
    16     {
    17         if(n==0||(4<=n&&n<=6)||n==8||n==9||n==0)
    18             printf("|");
    19         else printf(" ");
    20         for(i=0;i<s;i++)
    21             printf(" ");
    22         if((1<=n&&n<=4)||(7<=n&&n<=9)||n==0)
    23             printf("|");
    24         else printf(" ");
    25     }
    26     else if(row==s+2)
    27     {
    28         printf(" ");
    29         if((2<=n&&n<=6)||n==8||n==9)
    30             for(i=0;i<s;i++)
    31                 printf("-");
    32         else for(i=0;i<s;i++)
    33                 printf(" ");
    34         printf(" ");
    35     }
    36     else if(s+3<=row&&row<=2*s+2)
    37     {
    38         if(n==2||n==6||n==8||n==0)
    39             printf("|");
    40         else printf(" ");
    41         for(i=0;i<s;i++)
    42             printf(" ");
    43         if(n==1||(3<=n&&n<=9)||n==0)
    44             printf("|");
    45         else printf(" ");
    46     }
    47     else if(row==2*s+3)
    48     {
    49         printf(" ");
    50         if(n==2||n==3||n==5||n==6||n==8||n==9||n==0)
    51             for(i=0;i<s;i++)
    52                 printf("-");
    53         else for(i=0;i<s;i++)
    54                 printf(" ");
    55         printf(" ");
    56     }
    57 }
    58 
    59 int main()
    60 {
    61     int s,n,p,k,i,j;
    62     int digit[10];
    63     while(scanf("%d%d",&s,&n)!=EOF)
    64     {
    65         if(s==0&&n==0) break;
    66         if(n)
    67         {
    68             p=0;
    69             while(n)
    70             {
    71                 digit[p++]=n%10;
    72                 n/=10;
    73             }
    74             k=p;
    75         }
    76         else
    77         {
    78             digit[0]=0;
    79             k=1;
    80         }
    81         for(i=1;i<=2*s+3;i++)
    82         {
    83             draw(digit[k-1],s,i);
    84             for(j=k-2;j>=0;j--)
    85             {
    86                 printf(" ");
    87                 draw(digit[j],s,i);
    88             }
    89             printf("
    ");
    90         }
    91         printf("
    ");
    92     }
    93     return 0;
    94 }
    View Code
  • 相关阅读:
    字符串打印
    倒计时(二)之时间戳
    倒计时(一)之数字补0
    递增、递减运算符
    如何让background里的img图片自适应
    CSS三角图标(二)
    CSS三角图标(一)
    网易云外链接生成方法
    python基础语法一
    CSS固定菜单栏
  • 原文地址:https://www.cnblogs.com/xiaobaibuhei/p/3169851.html
Copyright © 2011-2022 走看看