题解 | #圣诞树#Go

圣诞树

https://www.nowcoder.com/practice/9a03096ed8ab449e9b10b0466de29eb2

package main

import (
    "fmt"
)

func main() {
    a := 0
    for {
        n, _ := fmt.Scan(&a)
        if n == 0 {
            break
        } else {
            // draw tree leaf
            for i:=0; i<a; i++{
                empty := a-i-1
                for j:= 0; j<3; j++ {
                    for m:=0; m<empty; m++ {
                        drawEmpty()
                    }
                    for m:=0; m<i+1; m++ {
                        drawTree(j)
                        if m != i+1 {
                            fmt.Printf(" ")
                        }
                    }
                    for m:=0; m<empty; m++ {
                        drawEmpty()
                    }
                    fmt.Println("")
                }

            }
            // draw tree root
            for i:= 0; i<a; i++{
                empty := a-1
                for m:=0; m<empty; m++ {
                    drawEmpty()
                }
                fmt.Printf("  *  ")
                for m:=0; m<empty; m++ {
                    drawEmpty()
                }
                fmt.Println("")
            }

        }
    }
}

func drawTree(level int){
    if level == 0 {
        fmt.Printf("  *  ")
    }
    if level == 1 {
        fmt.Printf(" * * ")
    }
    if level == 2 {
        fmt.Printf("* * *")
    }    
}

func drawEmpty(){
    fmt.Printf("   ")
}

全部评论

相关推荐

11-25 09:41
已编辑
Java
程序员花海_:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
投了多少份简历才上岸
点赞 评论 收藏
分享
11-04 10:30
已编辑
门头沟学院 研发工程师
开心小狗🐶:“直接说答案”
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务