题解 | #圣诞树#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("   ")
}

全部评论

相关推荐

05-07 20:52
吉林大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务