思路:
首先尝试输出: 再尝试输出: 最后尝试输出:
*** *** *****
** ** ***
* * *
需要注意的是输出上半个菱形时变量i递增,输出下半个菱形时变量i递减
package main
import(
"fmt"
)
var level int = 5
func main(){
//上半部分空心菱形
for i := 1; i <= level; i++{
//输出*前的空格
for k := 1; k <= level-i; k++{
fmt.Print(" ")
}
//输出*
for j := 1; j <= 2 * i - 1; j++{
if j == 1 || j == 2 * i - 1{
fmt.Print("*")
}else{
fmt.Print(" ")
}
}
fmt.Print("\n")
}
for i := level - 1; i >= 1; i--{
for k := 1; k <= level-i; k++{
fmt.Print(" ")
}
for j := 1; j <= 2 * i - 1; j++{
if j == 1 || j == 2 * i - 1{
fmt.Print("*")
}else{
fmt.Print(" ")
}
}
fmt.Print("\n")
}
}