编程实现自动填充n×n矩阵元素数值,填充规则为:从第一行最后一列矩阵元素开始按逆时针方向螺旋式填充数值1,2,…,n×n,其中:n从键盘输入且3≤n≤20。最后向显示器输出该矩阵所有元素
时间: 2023-06-14 17:03:37 浏览: 66
C++环形矩阵填充实现
以下是Python代码实现:
```python
n = int(input("请输入矩阵的大小(n):"))
matrix = [[0] * n for i in range(n)] # 初始化矩阵
count = 1 # 计数器
row, col = 0, n - 1 # 起始位置
while count <= n**2:
# 从右往左填充
for i in range(row, n):
if matrix[i][col] == 0:
matrix[i][col] = count
count += 1
row += 1
# 从上往下填充
for i in range(col-1, -1, -1):
if matrix[row][i] == 0:
matrix[row][i] = count
count += 1
col -= 1
# 从左往右填充
for i in range(row, n):
if matrix[i][col] == 0:
matrix[i][col] = count
count += 1
row -= 1
# 从下往上填充
for i in range(col-1, -1, -1):
if matrix[row][i] == 0:
matrix[row][i] = count
count += 1
col -= 1
# 输出矩阵
for i in range(n):
for j in range(n):
print(matrix[i][j], end="\t")
print()
```
运行效果如下:
```
请输入矩阵的大小(n):5
21 22 23 24 25
20 7 8 9 10
19 6 1 2 11
18 5 4 3 12
17 16 15 14 13
```
阅读全文