用函数返回指针或数组的方式,用一个函数计算成绩数组的平均值,最大值和最小值。c++
时间: 2024-12-08 20:15:05 浏览: 17
VC++数组的传递方式
在 C++ 中,你可以创建一个函数,该函数接收一个指向整数数组的指针以及数组的大小作为输入,然后返回三个指针分别指向计算得到的平均值、最大值和最小值的位置。这里是一个简单的示例:
```cpp
#include <iostream>
double* calculate_stats(int* arr, int size) {
if (arr == nullptr || size <= 0) {
std::cerr << "Invalid array or size!" << std::endl;
return nullptr; // 返回 nullptr 表示错误情况
}
double sum = 0.0;
double max = arr[0];
double min = arr[0];
for (int i = 0; i < size; ++i) {
sum += arr[i];
if (arr[i] > max) {
max = arr[i];
} else if (arr[i] < min) {
min = arr[i];
}
}
double avg = sum / size;
double* results = new double[3]; // 创建一个包含三个元素的新动态数组
results[0] = avg;
results[1] = max;
results[2] = min;
return results;
}
// 使用函数后记得释放动态分配的内存
void usage() {
int scores[] = {85, 90, 76, 92, 88};
int size = sizeof(scores) / sizeof(scores[0]);
double* stats = calculate_stats(scores, size);
if (stats != nullptr) {
std::cout << "Average: " << stats[0] << ", Max: " << stats[1] << ", Min: " << stats[2] << std::endl;
delete[] stats; // 释放内存
}
}
int main() {
usage();
return 0;
}
```
阅读全文