当我尝试用 golang 逆向制作数字金字塔时遇到问题我已经可以用这段代码制作一个数字金字塔:var ( input, bil int ) fmt.Scanln(&input) bil = 9 for b := 1; b <= input; b++ { for c := input; c >= b; c-- { //spasi fmt.Print(" ") } for d := 1; d <= b; d++ { //bintang fmt.Print(bil) if bil == -1 { bil = 9 } bil = bil - 1 } fmt.Println() }输入 :5输出 : 9 87 654 3210 98765我怎样做一个像这样的反向的输入:5输出 9 78 456 012356789
1 回答
吃鸡游戏
TA贡献1829条经验 获得超7个赞
只需更改计算当前数字的方式即可 ( fmt.Print(bil-d))
func main() {
var (
input, bil int
)
fmt.Scanln(&input)
bil = 9
for b := 1; b <= input; b++ {
for c := input; c >= b; c-- {
fmt.Print(" ")
}
for d := b - 1; d >= 0; d-- {
v := bil - d
if v < 0 {
v = v%10 + 10
}
fmt.Print(v)
}
bil -= b
if bil < 0 {
bil = bil%10 + 10
}
fmt.Println()
}
}
请注意,我还更改了边界条件的处理。
- 1 回答
- 0 关注
- 64 浏览
添加回答
举报
0/150
提交
取消