输入数组 将最小的元素和最大的元素进行互换,交换后输出数组
时间: 2023-11-02 07:10:08 浏览: 146
以下是一个示例 Python ,可以实现输入一个数组,将其中最小的元素和最大的元素互换位置,并输出交换后的数组:
```python
def swap_min_max(arr):
# 找到最小值和最大值的索引
min_idx = arr.index(min(arr))
max_idx = arr.index(max(arr))
# 交换最小值和最大值
arr[min_idx], arr[max_idx] = arr[max_idx], arr[min_idx]
return arr
# 示例输入
arr = [3, 5, 1, 8, 4, 2]
# 输出交换后的数组
print(swap_min_max(arr)) # [3, 2, 1, 8, 4, 5]
```
这个函数首先使用 `min()` 和 `max()` 函数找到数组中的最小值和最大值,并记录它们的索引。然后,使用 Python 的简洁语法来交换这两个元素的值。最后,返回交换后的整个数组。
相关问题
、输入数组,将最大的元素与最小的元素进行互换,交换后输出数组的程序设计思路
下面是输入数组,将最大的元素与最小的元素进行互换,交换后输出数组的程序设计思路:
1. 首先定义一个长度为n的整型数组a,用于存储输入的n个整数。
2. 利用循环输入n个整数到数组a中。
3. 遍历数组a,找到最大值和最小值的下标maxIndex和minIndex。
4. 利用一个临时变量temp,交换最大值和最小值的位置。
5. 输出交换后的数组a。
下面是该程序的伪代码:
```
// 定义数组a,长度为n
int a[n];
// 输入n个整数到数组a中
for (int i = 0; i < n; i++) {
cin >> a[i];
}
// 初始化最大值和最小值的下标
int maxIndex = 0, minIndex = 0;
// 遍历数组a,找到最大值和最小值的下标
for (int i = 1; i < n; i++) {
if (a[i] > a[maxIndex]) {
maxIndex = i;
} else if (a[i] < a[minIndex]) {
minIndex = i;
}
}
// 交换最大值和最小值的位置
int temp = a[maxIndex];
a[maxIndex] = a[minIndex];
a[minIndex] = temp;
// 输出交换后的数组a
for (int i = 0; i < n; i++) {
cout << a[i] << " ";
}
```
注意:该程序假设输入的n个整数中不存在相同的最大值和最小值。如果存在,则需要对程序进行修改。
编写函数用指针变量实现,将一组数组中最小元素与第一个元素互换,最大元素与最后一元素互换
好的,下面是函数的代码:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
void exchangeMinMax(int arr[], int size) {
int minIndex = 0, maxIndex = 0;
for (int i = 1; i < size; i++) {
if (arr[i] < arr[minIndex]) {
minIndex = i;
}
if (arr[i] > arr[maxIndex]) {
maxIndex = i;
}
}
swap(&arr[0], &arr[minIndex]);
swap(&arr[size - 1], &arr[maxIndex]);
}
int main() {
int arr[100], size;
printf("请输入数组的大小:");
scanf("%d", &size);
printf("请输入数组元素:");
for (int i = 0; i < size; i++) {
scanf("%d", &arr[i]);
}
exchangeMinMax(arr, size);
printf("交换后的数组为:");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
函数 `exchangeMinMax` 通过遍历数组找到最小元素和最大元素的下标,然后调用 `swap` 函数进行交换。
函数 `swap` 接收两个指针变量,通过中间变量进行交换。
在主函数中,我们先输入数组的大小和元素,然后调用 `exchangeMinMax` 函数进行交换,并输出结果。
希望这个函数能够帮到您。
阅读全文