用函数返回指针或数组的方式,用一个函数计算成绩数组的平均值,最大值和最小值。
时间: 2024-10-16 19:11:56 浏览: 32
在许多编程语言中,你可以设计一个函数,它接受一个指向成绩数组的指针或直接接收数组本身,然后计算并返回平均值、最大值和最小值。这里是一个简单的例子,使用C++:
```cpp
#include <iostream>
using namespace std;
// 函数模板,用于计算数组的平均值、最大值和最小值
template<typename T>
struct ArrayStats {
static double average(const T* arr, int size) {
if (size == 0) return 0;
double sum = 0;
for (int i = 0; i < size; i++) {
sum += arr[i];
}
return sum / size;
}
static T max_value(const T* arr, int size) {
if (size == 0) return T{}; // 或者设置为某个初始值
T max_val = arr[0];
for (int i = 1; i < size; i++) {
if (arr[i] > max_val)
max_val = arr[i];
}
return max_val;
}
static T min_value(const T* arr, int size) {
if (size == 0) return T{}; // 或者设置为某个初始值
T min_val = arr[0];
for (int i = 1; i < size; i++) {
if (arr[i] < min_val)
min_val = arr[i];
}
return min_val;
}
};
int main() {
int scores[] = {85, 90, 76, 95, 88};
int size = sizeof(scores) / sizeof(scores[0]);
double avg = ArrayStats<int>::average(scores, size);
int max_score = ArrayStats<int>::max_value(scores, size);
int min_score = ArrayStats<int>::min_value(scores, size);
cout << "Average score: " << avg << endl;
cout << "Max score: " << max_score << endl;
cout << "Min score: " << min_score << endl;
return 0;
}
```
在这个示例中,`ArrayStats` 类包含静态成员函数来计算平均值、最大值和最小值,它们分别处理整数类型的数组。`main()` 函数中创建了一个分数数组,并调用了这些统计函数。
阅读全文