• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            A Za, A Za, Fighting...

            堅信:勤能補拙

            PKU 1102 LC-Display (有趣的模擬)

            LC-Display
            Time Limit: 1000MSMemory Limit: 10000K
            Total Submissions: 10720Accepted: 4221

            Description

            A friend of you has just bought a new computer. Until now, the most powerful computer he ever used has been a pocket calculator. Now, looking at his new computer, he is a bit disappointed, because he liked the LC-display of his calculator so much. So you decide to write a program that displays numbers in an LC-display-like style on his computer.

            Input

            The input contains several lines, one for each number to be displayed. Each line contains two integers s, n (1 <= s <= 10, 0 <= n <= 99 999 999), where n is the number to be displayed and s is the size in which it shall be displayed. 

            The input file will be terminated by a line containing two zeros. This line should not be processed.

            Output

            Output the numbers given in the input file in an LC-display-style using s "-" signs for the horizontal segments and s "|" signs for the vertical ones. Each digit occupies exactly s+2 columns and 2s+3 rows. (Be sure to fill all the white space occupied by the digits with blanks, also for the last digit.) There has to be exactly one column of blanks between two digits. 

            Output a blank line after each number. (You will find a sample of each digit in the sample output.)

            Sample Input

            2 12345
            3 67890
            0 0

            Sample Output

                  --   --        -- 
               |    |    | |  | | 
               |    |    | |  | | 
                  --   --   --   -- 
               | |       |    |    |
               | |       |    |    |
                  --   --        -- 
            
             ---   ---   ---   ---   --- 
            |         | |   | |   | |   |
            |         | |   | |   | |   |
            |         | |   | |   | |   |
             ---         ---   --- 
            |   |     | |   |     | |   |
            |   |     | |   |     | |   |
            |   |     | |   |     | |   |
             ---         ---   ---   ---

            Source


            思路:
            這題,不會...
            無奈看其他人代碼,發現居然可以寫的這么簡潔...佩服...

            代碼:
             1 #include<stdio.h>
             2 #include<stdlib.h>
             3 #include<string.h>
             4 #define MAX_LEN 10
             5 int n;
             6 char str[MAX_LEN];
             7 const int mark[5][10][3= {
             8   /*    0       1        2        3        4        5        6        7        8        9    */
             9      0,1,00,0,00,1,00,1,00,0,00,1,00,1,00,1,00,1,00,1,0,
            10     1,0,10,0,10,0,10,0,11,0,11,0,01,0,00,0,11,0,11,0,1,
            11     0,0,00,0,00,1,00,1,00,1,00,1,00,1,00,0,00,1,00,1,0,
            12     1,0,10,0,11,0,00,0,10,0,10,0,11,0,10,0,11,0,10,0,1,
            13     0,1,00,0,00,1,00,1,00,0,00,1,00,1,00,0,00,1,00,1,0 };
            14 
            15 int
            16 main(int argc, char **argv)
            17 {
            18     int j, k, p, q, w;
            19     while(scanf("%d %s"&n, str) != EOF) {
            20         if(!n)
            21             break;
            22         for(j=0; j<5; j++) {
            23             if(j%2 == 0) {
            24                 for(p=0; str[p]!='\0'; p++) {
            25                     printf(" "); /* mark[j][k][0] */
            26                     k = str[p] - '0';
            27                     for(q=0; q<n; q++
            28                         printf("%s", mark[j][k][1]?"-":" ");
            29                     printf(" "); /* mark[j][k][2] */
            30                     printf(" ");
            31                 }
            32                 printf("\n");
            33             } else {
            34                 for(q=0; q<n; q++) {
            35                     for(p=0; str[p]!='\0'; p++) {
            36                         k = str[p] - '0';
            37                         printf("%s", mark[j][k][0]?"|":" ");
            38                         for(w=0; w<n; w++)
            39                             printf(" ");
            40                         printf("%s", mark[j][k][2]?"|":" ");
            41                         printf(" ");
            42                     }
            43                     printf("\n");
            44                 }
            45             }
            46         }
            47         printf("\n");
            48     }
            49     return 0;
            50 }

            posted on 2010-11-09 16:46 simplyzhao 閱讀(238) 評論(0)  編輯 收藏 引用 所屬分類: G_其他

            導航

            <2010年11月>
            31123456
            78910111213
            14151617181920
            21222324252627
            2829301234
            567891011

            統計

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            久久99国产精品久久99小说| 人人狠狠综合久久88成人| 国产一级持黄大片99久久| 久久se精品一区二区| 欧美久久亚洲精品| 无码精品久久久天天影视| 久久精品国产99国产电影网 | 久久久久亚洲AV成人网| 久久久久久久波多野结衣高潮| 亚洲精品乱码久久久久久自慰| 99久久精品日本一区二区免费| 一本大道久久香蕉成人网| 1000部精品久久久久久久久| 日本欧美国产精品第一页久久| 国产人久久人人人人爽| 亚洲欧美日韩久久精品| 丁香五月综合久久激情| 久久久久亚洲av无码专区导航| 99久久做夜夜爱天天做精品| 亚洲欧美日韩精品久久| 中文国产成人精品久久不卡| 久久影院久久香蕉国产线看观看| av无码久久久久久不卡网站 | 99久久er这里只有精品18| 亚洲AV伊人久久青青草原| 99久久精品国产综合一区| 国产成人精品综合久久久久 | 99精品久久久久久久婷婷 | 久久精品国产精品亚洲| 久久精品九九亚洲精品天堂| 国内精品久久久久久99| 人妻精品久久无码区| 久久久久久精品成人免费图片| 久久久精品视频免费观看| 精品久久久久久国产免费了| 一级做a爰片久久毛片16| 蜜桃麻豆www久久| 国产成人AV综合久久| 久久av高潮av无码av喷吹| 九九久久精品无码专区| 一本久久综合亚洲鲁鲁五月天|