c++输入数组找最大值最小值
时间: 2024-10-18 17:10:52 浏览: 35
在 C++ 中,找到数组中的最大值和最小值可以使用迭代的方式完成,也可以使用标准库函数简化过程。以下是两种常见的方法:
**手动遍历法:**
```cpp
#include <iostream>
int findMinMax(int arr[], int size, bool isMax) {
int max = arr[0], min = arr[0];
for (int i = 1; i < size; ++i) {
if (isMax && arr[i] > max) {
max = arr[i];
} else if (!isMax && arr[i] < min) {
min = arr[i];
}
}
return isMax ? max : min;
}
int main() {
int arr[] = {5, 2, 9, 1, 7};
int n = sizeof(arr) / sizeof(arr[0]);
std::cout << "Minimum value: " << findMinMax(arr, n, false) << std::endl;
std::cout << "Maximum value: " << findMinMax(arr, n, true) << std::endl;
return 0;
}
```
在这个例子中,`findMinMax` 函数接受一个整数数组、数组大小以及一个布尔值指示查找最大值(true)还是最小值(false),然后遍历整个数组更新最大值或最小值。
**使用标准库函数:**
```cpp
#include <algorithm>
#include <iostream>
int main() {
int arr[] = {5, 2, 9, 1, 7};
int n = sizeof(arr) / sizeof(arr[0]);
auto min_val = *std::min_element(arr, arr + n);
auto max_val = *std::max_element(arr, arr + n);
std::cout << "Minimum value: " << min_val << std::endl;
std::cout << "Maximum value: " << max_val << std::endl;
return 0;
}
```
这里分别使用了 `std::min_element` 和 `std::max_element` 函数来寻找最小值和最大值,它们返回的是给定范围内的相应元素的迭代器,通过解引用获取实际值。
阅读全文