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