7-1交换最大值和最小值C++
时间: 2024-12-22 09:13:31 浏览: 6
求数组最大值,最小值,平均值,排序,寻找指定数据.rar————求数组最大值,最小值,平均值,排序,寻找指定数据
5星 · 资源好评率100%
在C++中,如果你想要交换两个数中的最大值和最小值,你可以创建一个函数来完成这个任务,不需要额外的临时变量。这里是一个简单的例子:
```cpp
#include <iostream>
void swapMaxMin(int& max, int& min) {
if (max < min) { // 如果当前最大值小于最小值
int temp = max; // 交换
max = min;
min = temp;
}
}
int main() {
int num1, num2;
std::cout << "Enter two numbers: ";
std::cin >> num1 >> num2;
// 初始判断,也可能在一开始就把最大值赋给max,最小值赋给min
int max = std::max(num1, num2);
int min = std::min(num1, num2);
std::cout << "Before swapping:\n";
std::cout << "Max = " << max << ", Min = " << min << "\n";
swapMaxMin(max, min); // 调用函数交换
std::cout << "After swapping:\n";
std::cout << "Max = " << max << ", Min = " << min << "\n";
return 0;
}
```
在这个程序中,`swapMaxMin`函数接收两个整数引用作为参数,直接在原地修改它们的值,实现了交换。在`main`函数中,先通过`std::max`和`std::min`获取原始的最大值和最小值,然后调用该函数进行交换。
阅读全文