按要求输出蛇形矩阵。 输入格式 一个正整数 n , n < = 100 n,n<=100。 输出格式 输出蛇形矩阵,中间用一个空格隔开。 样例 输入 5 输出 1 3 2 4 5 6 10 9 8 7 11 12 13 14 15
时间: 2024-11-13 18:25:35 浏览: 5
蛇形方阵 输出一个 n 阶方阵,其元素排列方式为:从左上角开始按列顺序呈现出蛇形
蛇形矩阵,也称为螺旋矩阵或“Z”字形矩阵,是一种特殊的矩阵填充方式。给定一个正整数 `n` 表示矩阵的大小,构建的矩阵会从左上角开始,按照顺时针方向逐行递增,并在每个新行增加一个元素。对于输入 `n = 5` 的例子:
```
1
3 2
4 5 6
7 8 9 10
11 12 13 14 15
```
你可以通过嵌套循环来生成这样的矩阵。外层循环控制行,内层循环控制列,然后根据当前的行和列位置添加元素并更新它们的位置。这里是一个简单的Python代码实现:
```python
def print_spiral_matrix(n):
matrix = [[0] * n for _ in range(n)]
i, j, di, dj = 0, 0, 1, 0 # 初始化坐标和移动方向
while i < n and j < n:
# 填充第一象限
for _ in range(j, n):
matrix[i][_] = i * n + j + 1
j += 1
i += 1
# 填充第二象限
for _ in range(i, n):
matrix[_][n - 1] = (i - 1) * n + j
j -= 1
j -= 1
# 填充第三象限
if i < n:
for _ in range(n - j - 1, i, -1):
matrix[n - 1][_] = (i - 1) * n + j + 1
i -= 1
i -= 1
# 填充第四象限
if j > 0:
for _ in range(n - i - 1, 0, -1):
matrix[i][_ - 1] = i * n + j
j += 1
j += 1
# 输出结果
for row in matrix:
print(' '.join(map(str, row)))
# 示例
print_spiral_matrix(5)
```
阅读全文