用C++写出数组中求最值
时间: 2024-10-05 15:01:59 浏览: 34
在C++中,可以使用循环或者迭代器来查找数组中的最大值和最小值。这里给出两种简单的示例:
**1. 使用循环:**
```cpp
#include <iostream>
int findMaxMin(int arr[], int size) {
if (size == 0) {
std::cout << "Array is empty.\n";
return -1; // 或者返回NULL或其他表示错误的值
}
int maxVal = arr[0];
int minVal = arr[0];
for (int i = 1; i < size; i++) {
if (arr[i] > maxVal) {
maxVal = arr[i];
} else if (arr[i] < minVal) {
minVal = arr[i];
}
}
return maxVal, minVal;
}
int main() {
int arr[] = {5, 10, 15, 20, 25};
int n = sizeof(arr) / sizeof(arr[0]);
int max, min;
max, min = findMaxMin(arr, n);
std::cout << "Max value: " << max << ", Min value: " << min << "\n";
return 0;
}
```
**2. 使用STL算法:**
C++标准库`<algorithm>`提供了一个名为`std::minmax_element()`的函数,可以直接找到数组中的最大值和最小值。
```cpp
#include <iostream>
#include <algorithm>
int main() {
int arr[] = {5, 10, 15, 20, 25};
int n = sizeof(arr) / sizeof(arr[0]);
auto max_min = *std::minmax_element(arr, arr + n);
std::cout << "Max value: " << max_min.first << ", Min value: " << max_min.second << "\n";
return 0;
}
```
在这两个例子中,数组的最值会在程序运行时被计算出来。
阅读全文