zoukankan      html  css  js  c++  java
  • poj1102

    题目链接:http://poj.org/problem?id=1102

    模拟液晶显示屏

    注意:

    1. 最好用数组接收n,避免001这种只输出1的情况

    2.每位数字后都有空格,不必考虑去掉最后一位的空格,否则PE

    我将数整体分成了五段

    代码如下:

    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    #include <string.h>;
    int main(int argc, char** argv) {

    int n,i,d,j,j1,i1;
    char a[20];
    int b1[10]={1,0,1,1,0,1,1,1,1,1};
    int b2[10]={2,1,1,1,2,0,0,1,2,2};//1
    int b3[10]={0,0,1,1,1,1,1,0,1,1};
    int b4[10]={2,1,0,1,1,1,2,1,2,1};
    int b5[10]={1,0,1,1,0,1,1,0,1,1};
    while(scanf("%d %s",&n,a)&&(n||!(strlen(a)==1&&a[0]=='0')))
    {

    d=strlen(a);
    for(i=0;i<d;++i)
    {
    printf(" ");
    for(j=0;j<n;++j)
    {
    if(b1[a[i]-48]==1)
    printf("-");
    else
    printf(" ");
    }
    printf("");
    }//1
    printf("\n");
    for(i1=0;i1<n;i1++)
    {
    for(i=0;i<d;++i)
    {
    if(b2[a[i]-48]==2)
    {
    printf("|");
    for(j=0;j<n;++j)
    {
    printf(" ");
    }
    printf("|");
    }
    else if(b2[a[i]-48]==1)
    {
    printf(" ");
    for(j=0;j<n;++j)
    {
    printf(" ");
    }
    printf("|");
    }
    else
    {
    printf("|");
    for(j=0;j<n;++j)
    {
    printf(" ");
    }
    printf(" ");
    }
    printf(" ");

    }
    printf("\n");
    }//2
    for(i=0;i<d;++i)
    {
    printf(" ");
    for(j=0;j<n;++j)
    {
    if(b3[a[i]-48]==1)
    printf("-");
    else
    printf(" ");
    }
    printf("");
    }//3
    printf("\n");
    for(i1=0;i1<n;i1++)
    {
    for(i=0;i<d;++i)
    {
    if(b4[a[i]-48]==2)
    {
    printf("|");
    for(j=0;j<n;++j)
    {
    printf(" ");
    }
    printf("|");
    }
    else if(b4[a[i]-48]==1)
    {
    printf(" ");
    for(j=0;j<n;++j)
    {
    printf(" ");
    }
    printf("|");
    }
    else
    {
    printf("|");
    for(j=0;j<n;++j)
    {
    printf(" ");
    }
    printf(" ");
    }
    printf(" ");
    }

    printf("\n");
    }//4

    for(i=0;i<d;++i)
    {
    printf(" ");
    for(j=0;j<n;++j)
    {
    if(b5[a[i]-48]==1)
    printf("-");
    else
    printf(" ");
    }
    printf("");
    }//5
    printf("\n");

    printf("\n");



    }
    return (EXIT_SUCCESS);
    }



  • 相关阅读:
    HDU2438:Turn the corner(三分)
    XTU1267:Highway(LCA+树的直径)
    HDU6024:Building Shops(DP)
    “玲珑杯”ACM比赛 Round #13 B -- 我也不是B(二分排序)
    XTU1266:Parentheses(贪心+优先队列)
    Educational Codeforces Round 21 D
    Educational Codeforces Round 21E selling souvenirs (dp)
    EOJ3247:铁路修复计划
    关于工厂模式的 个人理解
    设计模式之 工厂方法
  • 原文地址:https://www.cnblogs.com/fengyuehan/p/poj1102.html
Copyright © 2011-2022 走看看