Golang 打印金字塔

190 阅读1分钟

//打印金字塔
package main

import (
	"fmt"
)

func main() {

	//layerNum 表示总层数
	var layerNum int
	fmt.Println("请输入金字塔层数")
	fmt.Scanln(&layerNum)

	//i 表示当前层数
	for i := 1; i <= layerNum; i++ {

		//先打印空格,空格数为总层数减去当前层数
		for k := 1; k <= layerNum-i; k++ {
			fmt.Print(" ")
		}

		for j := 1; j <= i*2-1; j++ {
			fmt.Print("*")
		}
		fmt.Println()
	}
}


//空心金字塔
package main

import (
	"fmt"
)

func main() {

	//layerNum 表示总层数
	var layerNum int
	fmt.Println("请输入金字塔层数")
	fmt.Scanln(&layerNum)

	//i 表示当前层数
	for i := 1; i <= layerNum; i++ {

		//先打印空格,空格数为总层数减去当前层数
		for k := 1; k <= layerNum-i; k++ {
			fmt.Print(" ")
		}

		for j := 1; j <= i*2-1; j++ {

			if j == 1 || j == i*2-1 || i == layerNum{
				fmt.Print("*")
			} else {
				fmt.Print(" ")
			}

		}
		fmt.Println()
	}
}