// 注释双斜杠
/* 或者杠上花 */
package main // 主函数的package必须为main
// 引入的是文件路径。调用文件路径下包名即可使用(包名可以重复)
import (
"fmt"
)
func main() {
// 打印菱形
// var size int = 5
// fmt.Println("请输入菱形的大小: ")
// fmt.Scanf("%d", &size)
// diamond(size)
// 乘法口诀表
multTable()
}
/* 星号打印菱形方法 */
func diamond(size int) {
// 如果是偶数则将大小+1
if size%2 == 0 {
size++
}
fmt.Printf("打印输出菱形行数为: %v\n", size)
// 初始化空格 和 *标记初始打印数量 以及 打印数量反转标记(省去一个for循环的编写)
var span, symbol, flag int = size/2 + 1, 1, -1
for i := 0; i < size; i++ {
if flag < 0 && i >= size/2 {
flag = -flag
}
// 打印span
for j := 0; j < span; j++ {
fmt.Printf(" ")
}
span = span + flag
for k := 0; k < symbol; k++ {
fmt.Printf("*")
}
fmt.Printf("\n")
symbol = symbol - flag*2
}
}
/* 打印乘法口诀表 */
func multTable() {
for j := 1; j <= 9; j++ {
for i := 1; i <= j; i++ {
if (i == 3 && j == 3) || (i == 3 && j == 4) {
fmt.Printf(" ")
}
fmt.Printf("%v*%v=%v ", i, j, i*j)
}
fmt.Printf("\n")
}
}
#学习路径#