在C++中通过函数重载,编写一个程序,使得程序能够求出int,double型数组中最大数和最小数的差值。
时间: 2024-12-08 14:22:40 浏览: 22
在C++中,函数重载是一种技术,允许我们为相同的函数名称提供多个版本,每个版本有不同的参数列表。为了计算整型(int)和双精度(double)数组的最大值和最小值的差值,我们可以编写两个函数,一个用于处理int类型的数组,另一个用于处理double类型的数组。下面是一个简单的示例:
```cpp
#include <iostream>
#include <climits> // 包含max和min头文件
// 函数重载,处理int类型的数组
int findDiffMaxMin(int arr[], int size) {
int min = INT_MAX; // 初始化为最大int
int max = INT_MIN; // 初始化为最小int
for (int i = 0; i < size; ++i) {
if (arr[i] < min)
min = arr[i];
else if (arr[i] > max)
max = arr[i];
}
return max - min;
}
// 函数重载,处理double类型的数组
double findDiffMaxMin(double arr[], int size) {
double min = DBL_MAX; // 初始化为最大double
double max = DBL_MIN; // 初始化为最小double
for (int i = 0; i < size; ++i) {
if (arr[i] < min)
min = arr[i];
else if (arr[i] > max)
max = arr[i];
}
return max - min;
}
int main() {
int intArr[] = {5, 3, 9, 1, 7};
double doubleArr[] = {1.5, 2.8, 4.6, 0.7, 3.9};
std::cout << "Int Array Difference: " << findDiffMaxMin(intArr, sizeof(intArr)/sizeof(int)) << "\n";
std::cout << "Double Array Difference: " << findDiffMaxMin(doubleArr, sizeof(doubleArr)/sizeof(double)) << "\n";
return 0;
}
```
在这个程序中,`findDiffMaxMin`函数被分别定义了两次,一次处理int数组,一次处理double数组。在main函数中,我们创建了这两个类型的数组,并调用了相应的函数来找出差值。
阅读全文