题解 | #箭形图案#
箭形图案
https://www.nowcoder.com/practice/a6d1081e0c9a42f19e42ed6cd91556c1
找规律
- 上半部分(
i<=n
)- 每行先输出
2*(n-i)
个空格 - 然后输出
i+1
个字符
- 每行先输出
- 下半部分(
i>n
)- 每行先输出
2*(i-n)
个空格 - 然后输出
2*n-i+1
个字符
- 每行先输出
package main
import (
"fmt"
)
func main() {
var n int
for {
_, err := fmt.Scan(&n)
if err != nil {
return
}
for i := 0; i < 2*n+1; i++ {
if i <= n {
for j := 0; j < 2*(n-i); j++ {
fmt.Printf("%c", ' ')
}
for j := 0; j <= i; j++ {
fmt.Printf("%c", '*')
}
}
if i > n {
for j := 0; j < 2*(i-n); j++ {
fmt.Printf("%c", ' ')
}
for j := 0; j <= 2*n-i; j++ {
fmt.Printf("%c", '*')
}
}
fmt.Println()
}
}
}