输入5个数,使最小元素和最大元素交换,用函数实现
时间: 2024-03-18 10:39:12 浏览: 63
好的,可以使用以下的函数实现:
```python
def swap_min_max(nums):
min_index = nums.index(min(nums))
max_index = nums.index(max(nums))
nums[min_index], nums[max_index] = nums[max_index], nums[min_index]
return nums
```
这个函数接收一个列表 `nums`,首先找到最小元素和最大元素的下标 `min_index` 和 `max_index`,然后利用 Python 中的多重赋值语句交换它们。最后返回交换后的列表。
你可以这样调用这个函数来实现你的要求:
```python
nums = []
for i in range(5):
num = int(input("请输入第 %d 个数:" % (i+1)))
nums.append(num)
result = swap_min_max(nums)
print("交换后的结果是:", result)
```
注意,在这个例子中,我们使用了一个 for 循环来输入 5 个数,并将它们存储在一个列表 `nums` 中。然后我们将这个列表传递给 `swap_min_max` 函数,它会返回交换后的列表。最后,我们打印出交换后的结果。
相关问题
输入数组(5个数),使最小元素和最大元素交换,用函数实现,C语言
可以按照以下步骤来实现:
1. 定义一个函数,该函数接收一个整型数组和数组的长度作为参数。
2. 在函数中,找到数组中的最小值和最大值,以及它们的下标。
3. 交换最小值和最大值所在的数组元素。
4. 打印交换后的数组。
下面是示例代码:
```c
#include <stdio.h>
void swapMinMax(int arr[], int len) {
int min = arr[0], max = arr[0], min_idx = 0, max_idx = 0;
for (int i = 1; i < len; i++) {
if (arr[i] < min) {
min = arr[i];
min_idx = i;
}
if (arr[i] > max) {
max = arr[i];
max_idx = i;
}
}
int temp = arr[min_idx];
arr[min_idx] = arr[max_idx];
arr[max_idx] = temp;
}
int main() {
int arr[5];
printf("请输入5个整数:\n");
for (int i = 0; i < 5; i++) {
scanf("%d", &arr[i]);
}
swapMinMax(arr, 5);
printf("交换后的数组为:\n");
for (int i = 0; i < 5; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
注意:上述代码并未考虑输入数组中有相同的最小值或最大值的情况。如果需要处理这种情况,可以将最小值和最大值的下标存储在数组中,然后在交换数组元素时进行处理。
用函数,输入组数,最小的元素和最大的元素交换,输出数组
好的,我明白你的问题了。下面是一个 Python 函数,可以实现你所要求的功能:
```python
def swap_min_max(arr):
if not arr: # 处理空数组的情况
return []
min_idx, max_idx = 0, 0
for i in range(len(arr)):
if arr[i] < arr[min_idx]:
min_idx = i
if arr[i] > arr[max_idx]:
max_idx = i
arr[min_idx], arr[max_idx] = arr[max_idx], arr[min_idx]
return arr
```
这个函数的参数 `arr` 是一个包含整数元素的列表,它会返回一个新的列表,其中最小值和最大值已经被交换了。如果输入的列表为空,则返回一个空列表。
你可以这样调用这个函数:
```python
arr = [3, 5, 2, 8, 1, 9, 4, 7, 6]
new_arr = swap_min_max(arr)
print(new_arr) # 输出 [3, 5, 2, 6, 1, 9, 4, 7, 8]
```
在上面的例子中,输入的列表是 `[3, 5, 2, 8, 1, 9, 4, 7, 6]`,最小值是 1,最大值是 9,经过交换后得到的新列表是 `[3, 5, 2, 6, 1, 9, 4, 7, 8]`。