输出一个不大于九的整数n,输出n*n的蛇形方阵
时间: 2023-04-18 21:00:40 浏览: 109
以下是Python代码实现:
n = int(input("请输入一个不大于9的整数:"))
matrix = [[0 for i in range(n)] for j in range(n)]
num = 1
for i in range(n):
if i % 2 == 0:
for j in range(n):
matrix[i][j] = num
num += 1
else:
for j in range(n-1, -1, -1):
matrix[i][j] = num
num += 1
for i in range(n):
for j in range(n):
print(matrix[i][j], end="\t")
print()
输出示例:
请输入一个不大于9的整数:5
1 2 3 4 5
10 9 8 7 6
11 12 13 14 15
20 19 18 17 16
21 22 23 24 25
解释:
输入了5,即需要输出5*5的蛇形方阵。首先创建一个5*5的矩阵,然后从左到右、从右到左、从左到右……依次填充数字,最后输出整个矩阵。
相关问题
用python程序编写,、输入一个不大于 9 的正整数 n,输出 n×n 的蛇形方阵。所谓蛇形方阵就是从左上角填上 1 开始,如样例所示不断沿斜线折返填满数字
在Python中,我们可以使用嵌套循环和一些条件判断来生成一个指定大小的蛇形矩阵。这里是一个简单的示例:
```python
def snake_matrix(n):
matrix = [[0] * n for _ in range(n)] # 初始化一个全零的n*n矩阵
x, y = 0, 0 # 初始位置 (0,0)
num = 1 # 当前填充的数字
while num <= n**2:
matrix[x][y] = num # 将数字放在当前位置
num += 1 # 更新数字
# 根据方向改变坐标
if x > 0 and y < n - 1: # 向右下移动
x -= 1
y += 1
elif x < n - 1 and y > 0: # 向左上移动
x += 1
y -= 1
elif x == 0 and y < n - 1: # 向右移动
y += 1
else: # 向左移动
x -= 1
return matrix
# 示例
n = int(input("请输入不大于 9 的正整数: "))
snake_array = snake_matrix(n)
for row in snake_array:
print(row)
输入整数 N,输出相应蛇形方阵
好的,我可以回答这个问题。以下是输出蛇形方阵的代码:
```
#include <stdio.h>
int main()
{
int n, i, j, k, a[100][100];
scanf("%d", &n);
for (i = ; i < n; i++)
{
for (j = ; j < n; j++)
{
a[i][j] = ;
}
}
k = 1;
for (i = ; i < n; i++)
{
if (i % 2 == )
{
for (j = ; j < n; j++)
{
a[i][j] = k;
k++;
}
}
else
{
for (j = n - 1; j >= ; j--)
{
a[i][j] = k;
k++;
}
}
}
for (i = ; i < n; i++)
{
for (j = ; j < n; j++)
{
printf("%d ", a[i][j]);
}
printf("\n");
}
return ;
}
```
希望能对您有所帮助!
阅读全文