golang for 循环空心金字塔原理
时间: 2024-11-09 15:17:11 浏览: 43
Go语言中创建空心金字塔通常使用嵌套循环,这里我们以打印字符为例。为了构建一个n层的空心金字塔,你可以按照以下步骤:
1. 初始化两个变量,`innerLen`表示内层循环的宽度,初始值为层数减一。`outerLen`表示外层循环的总宽度,即每行的字符数,等于层数乘以2再减去1。
2. 使用for循环遍历每一层(从0到n-1)。对于每一层i,有两部分需要处理:
a. 内层循环(从1到`innerLen`),打印星号(*)作为内侧元素,这个宽度会随着层数递减,例如第一层全为星号,最后一层为空。
b. 外层循环(从`innerLen+1`到`outerLen`),这部分用于打印空格,使得内外两侧形成空隙。
下面是一个简单的示例代码:
```go
package main
import "fmt"
func printPyramid(n int) {
outerLen := n * 2 - 1
innerLen := n - 1
for i := 0; i < n; i++ {
// 打印空格
for j := 0; j < outerLen - (2*i + 1); j++ {
fmt.Print(" ")
}
// 打印星号
for k := 0; k <= i; k++ {
fmt.Print("* ")
}
// 每一行结束换行
fmt.Println()
// 层次减小时,减少内层星号的数量
if i > 0 {
innerLen -= 1
}
}
}
func main() {
printPyramid(5)
}
```
运行此代码,将得到一个5层的空心金字塔。如果你想了解其他情况下的空心金字塔,或者需要改变特定字符,只需调整上述代码相应部分即可。
阅读全文