输入10个整数,用函数编程将其中最大数与最小数的位置互换,然后在主函数中将交换后的数组的所有元素输出。
时间: 2023-06-11 22:09:02 浏览: 56
可以使用以下代码实现:
```python
def swap(arr):
max_idx = arr.index(max(arr))
min_idx = arr.index(min(arr))
arr[max_idx], arr[min_idx] = arr[min_idx], arr[max_idx]
return arr
# 主函数
if __name__ == '__main__':
nums = list(map(int, input().split()))
swapped_nums = swap(nums)
for num in swapped_nums:
print(num, end=' ')
```
首先定义一个 `swap` 函数来实现最大数与最小数位置互换,并返回交换后的数组。在主函数中获取输入的10个整数,调用 `swap` 函数得到交换后的数组,并遍历输出所有元素。
相关问题
输入10个整数,用函数编程将其中最大数与最小数的位置互换,然后在主函数中将交换后的数组的所有元素输出。c+++
下面是一个实现此功能的C代码:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int tmp = *a;
*a = *b;
*b = tmp;
}
void swapMinMax(int arr[], int len) {
int min_idx = 0, max_idx = 0;
for (int i = 1; i < len; i++) {
if (arr[i] < arr[min_idx]) {
min_idx = i;
}
if (arr[i] > arr[max_idx]) {
max_idx = i;
}
}
swap(&arr[min_idx], &arr[max_idx]);
}
int main() {
int arr[10];
printf("请输入10个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
swapMinMax(arr, 10);
printf("交换后的数组为:\n");
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
首先定义了一个 `swap` 函数,用于交换两个整数的值。然后定义了一个 `swapMinMax` 函数,用于找到数组中的最小值和最大值,并将它们的位置互换。最后在主函数中输入数组,调用 `swapMinMax` 函数交换最小值和最大值的位置,然后输出交换后的数组。
输入10个整数,用函数编程将其中最大数与最小数位置互换,然后输出互换后的数组
以下是Python代码实现:
def swap_max_min(arr):
max_index = arr.index(max(arr))
min_index = arr.index(min(arr))
arr[max_index], arr[min_index] = arr[min_index], arr[max_index]
return arr
nums = []
for i in range(10):
num = int(input("请输入第{}个整数:".format(i+1)))
nums.append(num)
print("原始数组:", nums)
swapped_nums = swap_max_min(nums)
print("互换后的数组:", swapped_nums)