用golang列印數字

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

效果:

guodeMacBook-Air:programming_in_go guo$ go run 1_1.go 1234   1    222222  333333  4    4  1 1         2       3  4    4    1    222222  333333  444444    1    2            3       4 1111111 222222  333333       4


go 源碼(節選)

package mainimport (    "fmt"    "os")func main() {    if len(os.Args) != 2 {         fmt.Printf("%s number\n", os.Args[0])        return    }       bigdigits := [][]string{        {"  000 ",        " 0     0",         " 0     0",         " 0     0",         "   000  ",          },          {           "   1   ",          " 1 1   ",          "   1   ",          "   1   ",          "1111111",        },          {        "999999",        "9    9",        "999999",        "     9",        "999999",        },    }        for row := range bigdigits[0] {        strdigit := os.Args[1]        line := ""        for i := range strdigit {            d := strdigit[i] - '0'            if d < 0 || d > 9 {                fmt.Printf("error number\n")                return            }            line += bigdigits[d][row] + " "        }        fmt.Printf("%s\n", line)    }}


完成同同樣效果的c語言源碼(節選)

#include <stdio.h>#include <stdlib.h>int main(int argc, char **argv) {    const char *(a[][11]) = {         {"  000 ",        " 0     0",        " 0     0",        " 0     0",        "   000  ",        },          {           "   1    ",        " 1 1    ",        "   1    ",        "   1    ",        "1111111 "        },          {        "999999 ",        "9    9 ",        "999999 ",        "     9 ",        "999999 "        }    };    if (argc != 2) {        printf("Usage: %s <number>\n", argv[0]);        return 0;    }    char *p;    int d, r, row;    row = (int)(sizeof(a[0]) / sizeof(a[0][0]));    for (r = 0; r < row; r++) {        for (p = argv[1]; *p; p++) {            d = *p - '0';            if (d < 0 || d > 9) {                printf("error number \n");                return EXIT_FAILURE;            }            if (a[d][r] == NULL)                goto done;            printf("%s", a[d][r]);        }        printf("\n");    }done:    return 0;}


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.