给定一个 � n( � n是奇数且小于 100 100),打印一个 � × � n×n大小的数字方阵,数从外层到内层逐层增加 1 1(最内层是 1 1)
时间: 2024-05-16 20:12:56 浏览: 21
代码如下:
```python
n = int(input("请输入一个奇数n(n<100):"))
# 创建一个n*n的二维数组
matrix = [[0 for i in range(n)] for j in range(n)]
# 定义初始值和边界
start = 1
end = n - 1
num = 1
# 填充数字方阵
while start <= end:
for i in range(start, end+1):
matrix[start-1][i-1] = num
num += 1
for i in range(start, end+1):
matrix[i-1][end] = num
num += 1
for i in range(end, start-1, -1):
matrix[end][i-1] = num
num += 1
for i in range(end, start, -1):
matrix[i-1][start-1] = num
num += 1
start += 1
end -= 1
# 输出数字方阵
for i in range(n):
for j in range(n):
print("{:2d}".format(matrix[i][j]), end=" ")
print()
```
运行结果:
```
请输入一个奇数n(n<100):5
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
```
阅读全文