编程实现自动填充n×n矩阵元素数值,填充规则为:从第一行最后一列矩阵元素开始按逆时针方向螺旋式填充数值1,2,…,n×n,其中:n从键盘输入且3≤n≤20。最后向显示器输出该矩阵所有元素。
时间: 2023-06-08 14:07:54 浏览: 35
非常感谢您的提问!要实现自动填充n×n矩阵,可以使用以下代码:
```python
n = int(input("请输入矩阵的大小:"))
matrix = [[0] * n for _ in range(n)]
# 行列的起始和结束位置
start_row, end_row = 0, n - 1
start_col, end_col = n - 1, 0
# 要填充的数字
num = 1
# 循环填充
while start_row <= end_row and start_col >= end_col:
# 从右到左填充(上半部分)
for col in range(start_col, end_col - 1, -1):
matrix[start_row][col] = num
num += 1
start_row += 1
# 从上到下填充(左半部分)
for row in range(start_row, end_row + 1):
matrix[row][end_col] = num
num += 1
end_col -= 1
# 从左到右填充(下半部分)
for col in range(end_col, start_col - 1, -1):
matrix[end_row][col] = num
num += 1
end_row -= 1
# 从下到上填充(右半部分)
for row in range(end_row, start_row - 1, -1):
matrix[row][start_col] = num
num += 1
start_col += 1
# 输出矩阵
for row in matrix:
for elem in row:
print(elem, end="\t")
print("")
```
您可以将这段代码粘贴到您的Python解释器中运行,然后输入矩阵大小n来自动生成一个n×n的矩阵。希望这个答案可以帮助您!