编写函数,功能是交换数组中的最大数和最小数的位置,并计算所有数之和。例如数组a 有5个元素3、4、1、5、2,将最大数5和最小数1的位置交换后得到3、4、5、1、2,总和为15。
时间: 2024-10-28 20:08:30 浏览: 7
PHP中使用array函数新建一个数组
你可以编写一个函数,通过遍历数组找到最大值和最小值,然后用这两个值分别替换它们首次出现的位置。这里是一个Python示例:
```python
def swap_and_sum(arr):
# 初始化最大值和最小值以及它们的索引
max_val = arr[0]
min_val = arr[0]
max_idx = 0
min_idx = 0
# 找到最大值和最小值及其索引
for i in range(len(arr)):
if arr[i] > max_val:
max_val = arr[i]
max_idx = i
elif arr[i] < min_val:
min_val = arr[i]
min_idx = i
# 交换最大值和最小值
arr[max_idx], arr[min_idx] = arr[min_idx], arr[max_idx]
# 计算数组中所有数的和
sum_of_array = sum(arr)
return arr, sum_of_array
# 测试示例
arr = [3, 4, 1, 5, 2]
new_arr, sum_result = swap_and_sum(arr)
print("交换后的数组:", new_arr)
print("数组的总和:", sum_result)
```
运行这个函数后,它会返回交换后的新数组 `[3, 4, 5, 1, 2]` 和总和 `15`。
阅读全文