输入一个正整数n(1≤n≤6)和n阶方阵a,交换方阵a中的最大值与最小值位置。假定方阵a中的最大值与最小值都唯一。
时间: 2023-03-20 13:08:38 浏览: 232
可以使用两个变量分别记录最大值和最小值的位置,然后交换它们的值即可。
具体步骤如下:
1. 输入正整数n和n阶方阵a。
2. 初始化最大值和最小值的位置变量max_pos和min_pos为(,)。
3. 遍历方阵a,找到最大值和最小值的位置,更新max_pos和min_pos变量。
4. 交换max_pos和min_pos位置上的值。
5. 输出交换后的方阵a。
代码如下:
n = int(input())
a = []
max_pos = (,)
min_pos = (,)
# 输入方阵a
for i in range(n):
row = list(map(int, input().split()))
a.append(row)
# 找到最大值和最小值的位置
for i in range(n):
for j in range(n):
if a[i][j] > a[max_pos[]][max_pos[1]]:
max_pos = (i,j)
if a[i][j] < a[min_pos[]][min_pos[1]]:
min_pos = (i,j)
# 交换最大值和最小值的位置上的值
a[max_pos[]][max_pos[1]], a[min_pos[]][min_pos[1]] = a[min_pos[]][min_pos[1]], a[max_pos[]][max_pos[1]]
# 输出交换后的方阵a
for i in range(n):
for j in range(n):
print(a[i][j], end=' ')
print()
阅读全文