时间限制:1.000S  空间限制:32MB

题目描述

先要求你从键盘输入一个整数n(1n9),打印出指定的数字图形。

输入描述

输入包含多组测试数据。每组输入一个整数n(1n9)。

输出描述

对于每组输入,输出指定的数字图形。
注意:每行最后一个数字后没有任何字符。

输入示例
5
输出示例
    1
   121
  12321
 1234321
123454321
 1234321
  12321
   121
    1

答案

package main
 
import (
    "fmt"
    "strings"
)
 
var (
    n int
)
 
func main() {
    for {
        _, err := fmt.Scan(&n)
        if err != nil || n == 0 {
            break
        }
        for i := 1; i <= n; i++ {
            fmt.Print(strings.Repeat(" ", n - i))
            for j := 1; j <= i; j++ {
                fmt.Print(j)
            }
            for j := i - 1; j > 0; j-- {
                fmt.Print(j)
            }
            fmt.Println()
        }
        for i := n - 1; i > 0; i-- {
            fmt.Print(strings.Repeat(" ", n - i))
            for j := 1; j <= i; j++ {
                fmt.Print(j)
            }
            for j := i - 1; j > 0; j-- {
                fmt.Print(j)
            }
            fmt.Println()
        }
    }
}