用c++编写一个函数确定数组中的最小的两个值,使用引用变量作为参数
时间: 2023-06-14 07:05:10 浏览: 85
下面是一个使用引用变量作为参数的C++函数,可以确定数组中的最小的两个值:
```c++
#include <iostream>
using namespace std;
void findTwoMin(int arr[], int size, int& min1, int& min2) {
if (size < 2) {
cout << "Array size must be at least 2" << endl;
return;
}
if (arr[0] < arr[1]) {
min1 = arr[0];
min2 = arr[1];
} else {
min1 = arr[1];
min2 = arr[0];
}
for (int i = 2; i < size; i++) {
if (arr[i] < min1) {
min2 = min1;
min1 = arr[i];
} else if (arr[i] < min2) {
min2 = arr[i];
}
}
}
int main() {
int arr[] = {5, 2, 8, 3, 1};
int size = sizeof(arr) / sizeof(arr[0]);
int min1, min2;
findTwoMin(arr, size, min1, min2);
cout << "The minimum two values in the array are " << min1 << " and " << min2 << endl;
return 0;
}
```
这个函数接受一个整数数组、数组大小、以及两个引用变量作为参数。它首先检查数组大小是否大于等于2,如果不是就输出一个错误信息并返回。然后它初始化min1和min2为数组中的前两个元素中的较小值。接下来,它遍历数组中的其他元素,如果一个元素比min1小,就把min1更新为这个元素,同时把min2更新为原来的min1。如果一个元素比min1大但比min2小,就把min2更新为这个元素。
在main函数中,我们调用这个函数并把min1和min2作为引用变量传递进去。最后输出结果。