Run ID:83808
提交时间:2024-07-14 22:32:26
def print_spiral_matrix(n): # 初始化矩阵 matrix = [[0] * n for _ in range(n)] num = 1 # 从数字1开始填充 top = 0 # 初始上边界索引 bottom = n - 1 # 初始下边界索引 left = 0 # 初始左边界索引 right = n - 1 # 初始右边界索引 while num <= n * n: # 填充右边界 for i in range(left, right + 1): matrix[top][i] = num num += 1 top += 1 # 填充下边界 for i in range(top, bottom + 1): matrix[i][right] = num num += 1 right -= 1 # 填充左边界 if top <= bottom: for i in range(right, left - 1, -1): matrix[bottom][i] = num num += 1 bottom -= 1 # 填充上边界 if left <= right: for i in range(bottom, top - 1, -1): matrix[i][left] = num num += 1 left += 1 # 打印矩阵 for row in matrix: print(''.join('{:>4}'.format(num) for num in row)) # 读取输入 n = int(input()) # 调用函数并输出结果 print_spiral_matrix(n)