用golang打印数字

前端之家收集整理的这篇文章主要介绍了用golang打印数字前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

效果:

  1. guodeMacBook-Air:programming_in_goguo$gorun1_1.go1234
  2. 122222233333344
  3. 112344
  4. 1222222333333444444
  5. 1234
  6. 11111112222223333334


go 源码(节选)

  1. packagemain
  2.  
  3. import(
  4. "fmt"
  5. "os"
  6. )
  7.  
  8. funcmain(){
  9. iflen(os.Args)!=2{
  10. fmt.Printf("%snumber\n",os.Args[0])
  11. return
  12. }
  13.  
  14. bigdigits:=[][]string{
  15. {"000","00","000",},{
  16. "1","11","1","1111111",{
  17. "999999","99","999999","9",}
  18.  
  19. forrow:=rangebigdigits[0]{
  20. strdigit:=os.Args[1]
  21. line:=""
  22. fori:=rangestrdigit{
  23. d:=strdigit[i]-'0'
  24. ifd<0||d>9{
  25. fmt.Printf("errornumber\n")
  26. return
  27. }
  28. line+=bigdigits[d][row]+""
  29. }
  30. fmt.Printf("%s\n",line)
  31. }
  32. }


完成同同样效果的c语言源码(节选)

  1. #include<stdio.h>
  2. #include<stdlib.h>
  3.  
  4. intmain(intargc,char**argv){
  5. constchar*(a[][11])={
  6. {"000","1111111"
  7. },"999999"
  8. }
  9. };
  10.  
  11. if(argc!=2){
  12. printf("Usage:%s<number>\n",argv[0]);
  13. return0;
  14. }
  15.  
  16. char*p;
  17. intd,r,row;
  18. row=(int)(sizeof(a[0])/sizeof(a[0][0]));
  19.  
  20. for(r=0;r<row;r++){
  21.  
  22. for(p=argv[1];*p;p++){
  23. d=*p-'0';
  24. if(d<0||d>9){
  25. printf("errornumber\n");
  26. returnEXIT_FAILURE;
  27. }
  28. if(a[d][r]==NULL)
  29. gotodone;
  30.  
  31. printf("%s",a[d][r]);
  32. }
  33. printf("\n");
  34. }
  35. done:
  36. return0;
  37. }

猜你在找的Go相关文章