生成一个代码,输入为一个整数n,输出为一个n*n的矩阵,从矩阵的右上角开始为数字1,逆时针旋转,每次递增1
时间: 2024-05-24 14:13:22 浏览: 12
def generateMatrix(n):
matrix = [[0 for _ in range(n)] for _ in range(n)]
row_start, row_end = 0, n-1
col_start, col_end = 0, n-1
num = 1
while row_start <= row_end and col_start <= col_end:
for i in range(col_end, col_start-1, -1):
matrix[row_start][i] = num
num += 1
row_start += 1
for i in range(row_start, row_end+1):
matrix[i][col_start] = num
num += 1
col_start += 1
for i in range(col_start, col_end+1):
matrix[row_end][i] = num
num += 1
row_end -= 1
for i in range(row_end, row_start-1, -1):
matrix[i][col_end] = num
num += 1
col_end -= 1
return matrix
n = int(input())
matrix = generateMatrix(n)
for row in matrix:
for num in row:
print(num, end=' ')
print()