编写两个函数,分别求int和double类型数组最大的数int intArray[={}]
时间: 2023-05-24 08:02:53 浏览: 114
A:
1. 求int类型数组最大的数:
```c++
int findMaxInt(int intArray[], int size) {
int maxNum = intArray[0]; // 假定第一个数为最大值
for (int i = 1; i < size; i++) {
if (intArray[i] > maxNum) { // 如果当前数比假定的最大值大,则更新最大值
maxNum = intArray[i];
}
}
return maxNum;
}
```
该函数接收一个int类型的数组和数组的大小,遍历数组找到最大值并返回。
2. 求double类型数组最大的数:
```c++
double findMaxDouble(double doubleArray[], int size) {
double maxNum = doubleArray[0]; // 假定第一个数为最大值
for (int i = 1; i < size; i++) {
if (doubleArray[i] > maxNum) { // 如果当前数比假定的最大值大,则更新最大值
maxNum = doubleArray[i];
}
}
return maxNum;
}
```
该函数接收一个double类型的数组和数组的大小,遍历数组找到最大值并返回。
相关问题
编写两个函数,分别求int和double类型数组中最大的数,int intArray[]={3,4,5};double dArray[]={1,1,2,2};
A:
int getMax(int intArray[], int size) {
int max = intArray[0];
for (int i = 1; i < size; i++) {
if (intArray[i] > max) {
max = intArray[i];
}
}
return max;
}
double getMax(double dArray[], int size) {
double max = dArray[0];
for (int i = 1; i < size; i++) {
if (dArray[i] > max) {
max = dArray[i];
}
}
return max;
}
//调用
int intArray[] = {3, 4, 5};
double dArray[] = {1.1, 1.2, 2.0, 2.5};
int size1 = sizeof(intArray) / sizeof(intArray[0]);
int size2 = sizeof(dArray) / sizeof(dArray[0]);
int max1 = getMax(intArray, size1);
double max2 = getMax(dArray, size2);
printf("intArray最大值:%d\n", max1);
printf("dArray最大值:%lf\n", max2);
C++编写函数,传入一个一维数组返回数组的平均值(double),使用函数重载实现int和double类型数组的平均值计算
在C++中,你可以编写一个通用的函数,通过模板元编程来实现对int和double类型数组平均值的计算。这样可以利用函数重载的概念,让同一个函数名处理不同类型的数据。以下是一个示例:
```cpp
#include <vector>
#include <type_traits>
template <typename T>
double calculateAverage(const std::vector<T>& arr) {
static_assert(std::is_arithmetic<T>::value, "Only arithmetic types are supported");
double sum = 0.0;
for (const auto& elem : arr) {
sum += elem;
}
return sum / arr.size();
}
// 函数重载实现
double calculateAverage(const std::vector<int>& intArr) {
return calculateAverage<int>(intArr);
}
double calculateAverage(const std::vector<double>& doubleArr) {
return calculateAverage<double>(doubleArr);
}
int main() {
std::vector<int> intArray = {1, 2, 3, 4, 5};
std::vector<double> doubleArray = {1.0, 2.0, 3.0, 4.0, 5.0};
double intAvg = calculateAverage(intArray);
double doubleAvg = calculateAverage(doubleArray);
std::cout << "Integer array average: " << intAvg << std::endl;
std::cout << "Double array average: " << doubleAvg << std::endl;
return 0;
}
```
这个例子中,`calculateAverage`模板函数接受一个`std::vector`类型的参数,然后根据参数的实际类型计算平均值。如果尝试传递非数值类型的数组,程序会触发静态断言错误。
阅读全文