从键盘输入整数n,输出数字方阵。例如:输入n=5,输出如下: 1 2 3 4 5 2 3 4 5 1 3 4 5 1 2 4 5 1 2 3 5 1 2 3 4
时间: 2024-06-10 10:10:21 浏览: 2
实现思路:
1. 首先从键盘输入一个整数n,表示数字方阵的大小。
2. 定义一个二维数组matrix,大小为n * n,用于存储数字方阵。
3. 从1开始依次填充数字方阵,具体方法如下:
(1)从第1行第1列开始填充数字1。
(2)从第1行第2列开始,依次填充数字2、3、4、……、n。
(3)从第2行第n列开始,依次填充数字n+1、n+2、n+3、……、2n-1。
(4)从第n行第n-1列开始,依次填充数字2n、2n-1、2n-2、……、n+1。
(5)从第n行第1列开始,依次填充数字n、n-1、n-2、……、2。
(6)从第2行第1列开始,依次填充数字1、2、3、……、n-1。
(7)重复上述步骤,直到数字方阵填满为止。
4. 输出数字方阵。
Python 代码实现如下:
```python
n = int(input("请输入数字方阵的大小:"))
matrix = [[0] * n for i in range(n)]
num = 1
for i in range(n // 2 + 1):
for j in range(i, n - i):
matrix[i][j] = num
num += 1
for j in range(i + 1, n - i):
matrix[j][n - i - 1] = num
num += 1
for j in range(i + 1, n - i):
matrix[n - i - 1][n - j - 1] = num
num += 1
for j in range(i + 1, n - i - 1):
matrix[n - j - 1][i] = num
num += 1
for i in range(n):
for j in range(n):
print(matrix[i][j], end=' ')
print()
```
运行程序,输入n=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
```