zoukankan      html  css  js  c++  java
  • hoj 1138 LC Display

    /*
    
    题目:
        模拟输出数字时钟
    
    分析:
        先把答案都只为空格,然后枚举每一个数字,在相应的答案数组上做修改,这样的话,只需
        做出来了数字8,其他的都可以实现了。代码很简练,只有100来行
    
    */
    #include <cstdio>
    #include <cstring>
    #include <iostream>
    
    using namespace std;
    
    const int X = 205;
    
    char map[X][X],s[X];
    int n;
    
    int main()
    {
        freopen("sum.in","r",stdin);
        freopen("sum.out","w",stdout);
        while(scanf("%d%s",&n,s),n||s[0]!='0')
        {
            int id;
            int y = 0;
            int len = strlen(s);
            for(int i=0;i<2*n+3;i++)
            {
                for(int j=0;j<len*(n+3)-1;j++)
                    map[i][j] = ' ';
                map[i][len*(n+3)-1] = '\0';
            }
            for(int q=0;s[q];q++)
            {
                id = s[q]-'0';
                if(id==0)
                {
                    for(int i=y+1;i<y+n+1;i++)
                        map[0][i] = map[2*n+2][i] = '-';
                    for(int i=1;i<=n;i++)
                        map[i][y] = map[i+n+1][y] = map[i][y+n+1] = map[i+n+1][y+n+1] = '|';
                }
                else if(id==1)
                {
                    for(int i=1;i<=n;i++)
                        map[i][y+n+1] = map[i+n+1][y+n+1] = '|';
                }
                else if(id==2)
                {
                    for(int i=y+1;i<y+n+1;i++)
                        map[0][i] = map[n+1][i] = map[2*n+2][i] = '-';
                    for(int i=1;i<=n;i++)
                        map[i+n+1][y] = map[i][y+n+1] = '|';
                }
                else if(id==3)
                {
                    for(int i=y+1;i<y+n+1;i++)
                        map[0][i] = map[n+1][i] = map[2*n+2][i] = '-';
                    for(int i=1;i<=n;i++)
                        map[i][y+n+1] = map[i+n+1][y+n+1] = '|';
                }
                else if(id==4)
                {
                    for(int i=y+1;i<y+n+1;i++)
                        map[n+1][i]= '-';
                    for(int i=1;i<=n;i++)
                        map[i][y] = map[i][y+n+1] = map[i+n+1][y+n+1] = '|';
                }
                else if(id==5)
                {
                    for(int i=y+1;i<y+n+1;i++)
                        map[0][i] = map[n+1][i] = map[2*n+2][i] = '-';
                    for(int i=1;i<=n;i++)
                        map[i][y] = map[i+n+1][y+n+1] = '|';
                }
                else if(id==6)
                {
                    for(int i=y+1;i<y+n+1;i++)
                        map[0][i] = map[n+1][i] = map[2*n+2][i] = '-';
                    for(int i=1;i<=n;i++)
                        map[i][y] = map[i+n+1][y] = map[i+n+1][y+n+1] = '|';
                }
                else if(id==7)
                {
                    for(int i=y+1;i<y+n+1;i++)
                        map[0][i] = '-';
                    for(int i=1;i<=n;i++)
                        map[i][y+n+1] = map[i+n+1][y+n+1] = '|';
                }
                else if(id==8)
                {
                    for(int i=y+1;i<y+n+1;i++)
                        map[0][i] = map[n+1][i] = map[2*n+2][i] = '-';
                    for(int i=1;i<=n;i++)
                        map[i][y] = map[i+n+1][y] = map[i][y+n+1] = map[i+n+1][y+n+1] = '|';
                }
                else
                {
                    for(int i=y+1;i<y+n+1;i++)
                        map[0][i] = map[n+1][i] = map[2*n+2][i] = '-';
                    for(int i=1;i<=n;i++)
                        map[i][y] = map[i][y+n+1] = map[i+n+1][y+n+1] = '|';
                }
                y += n+3;
            }
            for(int i=0;i<(2*n+3);i++)
                puts(map[i]);
            puts("");
        }
    
        return 0;
    }
  • 相关阅读:
    PDO 数据访问抽象层
    递归例子
    Windows对象操作:浏览器窗口信息
    练习题:选择器和选择好友
    搭建wamp环境,数据库基础知识
    堆表空间管理
    vc弹出USB的方法. 附试验通过的代码!
    javascript 调用C++函数
    [转]在Win7 64位注册ActiveX控件
    SetForegroundWindow的正确用法
  • 原文地址:https://www.cnblogs.com/yejinru/p/2608070.html
Copyright © 2011-2022 走看看