题解 | #箭形图案#

箭形图案

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()
		}
	}
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务