通过数组名作为函数参数选出3个数中最大最小值
时间: 2025-01-05 22:37:35 浏览: 4
在编程中,特别是使用C/C++等语言,当你需要找出数组中的最大值和最小值,并且允许函数接收数组作为参数,通常会采用以下策略:
1. **传递数组指针和长度**:你可以将数组的首地址(指针)和数组的长度作为函数参数。例如,在C++中,可以这样做:
```cpp
void findMinMax(int arr[], int size, int& min, int& max) {
min = arr[0]; // 假设第一个元素是初始最小值
max = arr[0]; // 同理,假设第一个元素是初始最大值
for (int i = 1; i < size; i++) {
if (arr[i] < min) {
min = arr[i];
}
else if (arr[i] > max) {
max = arr[i];
}
}
}
```
在这个例子中,`findMinMax`函数遍历整个数组,比较每个元素与当前已知的最大值和最小值,更新它们。
2. **返回值和引用参数**:另一个选择是让函数直接修改输入数组的范围内的最大值和最小值,或者返回这两个值。这取决于具体的程序设计需求。
```cpp
pair<int, int> findMinMax(int arr[], int size) {
int min = arr[0];
int max = arr[0];
for (int i = 1; i < size; i++) {
if (arr[i] < min) {
min = arr[i];
} else if (arr[i] > max) {
max = arr[i];
}
}
return {min, max};
}
// 调用示例
int main() {
int numbers[] = {5, 3, 9, 1, 7};
pair<int, int> result = findMinMax(numbers, sizeof(numbers) / sizeof(numbers[0]));
cout << "最小值: " << result.first << ", 最大值: " << result.second << endl;
return 0;
}
```
阅读全文