7-1 交换最小值和最大值cpp
时间: 2024-12-14 13:26:15 浏览: 71
在C++中,如果你想在一个数组或者两个数之间交换最小值和最大值,可以使用一个临时变量来存储其中一个值,然后进行简单的赋值操作。这里是一个简单的示例:
```cpp
#include <iostream>
void swapMinMax(int& min, int& max) {
if (min > max) {
// 如果min大于max,说明它们本身就是反转的,直接交换
int temp = min;
min = max;
max = temp;
} else {
// 如果min不大于max,则先交换min和max,再将新的max与原来的max比较并交换
int temp = min;
min = max;
max = temp;
if (min != temp) {
// 再次交换,确保新的min确实是原来的最大值
std::swap(min, max);
}
}
}
int main() {
int num1, num2;
std::cout << "Enter two numbers: ";
std::cin >> num1 >> num2;
std::cout << "Before swapping:\n";
std::cout << "Min: " << num1 << ", Max: " << num2 << "\n";
swapMinMax(num1, num2);
std::cout << "After swapping:\n";
std::cout << "Min: " << num1 << ", Max: " << num2 << "\n";
return 0;
}
```
在这个例子中,`swapMinMax`函数接收两个整数引用作为参数,并通过两次条件判断确保它们的顺序正确地被交换了。在`main`函数中,用户输入两个数字,然后调用这个函数交换它们的最小值和最大值。
阅读全文
相关推荐

















