2019独角兽企业重金招聘Python工程师标准>>>
效果:
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 main
import (
"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
#include
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 \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;
}