Fork me on GitHub

Golang之旅28-金字塔

一个非常经典的案例:用go语言来实现空心金字塔的输出

  • 打印矩形

  • 打印半个金字塔

  • 打印整个金字塔

  • 金字塔镂空

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package main
import "fmt"

// 1. 打印矩形
/*
***
***
***
*/

// 2. 打印半个金字塔
/*
*
**
***
*/

// 3. 打印金字塔
/*
* 1层1个 规律:2 * 层数 - 1 空格2:总层数-当前层数i
*** 2个3个
***** 3层5个
*/

// 4. 将层数做成变量:

// 5. 打印空金字塔
// 规律:只有开头和结束是*,其余部分是空的
// 特殊情况:最后一层都是*
/*
*
* *
* *
*/

func main(){
var totalLevel int = 9

for i:=1; i <= totalLevel;i++{ // i表示层数
// 打印空格
for k := 1;k <= totalLevel - i;k++{
fmt.Print(" ")
}

for j :=1;j <= 2 * i - 1;j++{ // j表示每层打印多少个*
// 打印空金字塔
if j == 1 || j == 2 * i-1 || i == totalLevel {
fmt.Print("*")
} else{
fmt.Print(" ")
}

}
fmt.Println() // 换行操作
}
}

KzSS7d.png

本文标题:Golang之旅28-金字塔

发布时间:2019年11月04日 - 20:11

原始链接:http://www.renpeter.cn/2019/11/04/Golang%E4%B9%8B%E6%97%8528-%E9%87%91%E5%AD%97%E5%A1%94.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

Coffee or Tea