随机生成一个5X5的矩阵,将其中最大的数放在中心,4个角分别放4个最小的元素,(顺序为从左到右,从上到下依次从小到大存放),写一个函数实现并用主函数调用。
时间: 2024-10-23 12:10:30 浏览: 16
可以使用Python的numpy库来创建这样的矩阵,并通过迭代找到最大值和最小值的位置。下面是一个函数`generate_matrix`的实现示例:
```python
import numpy as np
def generate_matrix(size):
# 创建全零矩阵
matrix = np.zeros((size, size))
# 找到最大值和四个最小值
max_val = max_val_pos = None
min_vals = [float('-inf')] * 4
min_val_positions = []
for i in range(size):
for j in range(size):
matrix[i, j] = random.randint(0, 10) # 这里假设数值范围为0到10,你可以根据需要调整
if matrix[i, j] > max_val:
max_val = matrix[i, j]
max_val_pos = (i, j)
if matrix[i, j] < min_vals[0]:
min_vals[0] = matrix[i, j]
min_val_positions.append((i, j))
# 将最大值放在中心
matrix[max_val_pos] = max_val
# 将最小值按顺序放在角落
min_val_positions.sort(key=lambda pos: (pos[0], pos[1]))
for i, min_pos in enumerate(min_val_positions):
matrix[min_pos] = min_vals[i]
return matrix
# 主函数
if __name__ == "__main__":
size = 5
result = generate_matrix(size)
print("Generated Matrix:")
print(result)
阅读全文