去掉一个最高分,一个最低分,求平均值,用c语言函数调用
时间: 2023-07-16 19:15:25 浏览: 148
可以使用以下的C语言函数实现:
```c
#include <stdio.h>
float average(float scores[], int n) {
float sum = 0, max = scores[0], min = scores[0];
int i;
// 计算总分和最高分、最低分
for (i = 0; i < n; i++) {
sum += scores[i];
if (scores[i] > max) {
max = scores[i];
}
if (scores[i] < min) {
min = scores[i];
}
}
// 减去最高分和最低分,计算平均分
sum = sum - max - min;
return sum / (n - 2);
}
int main() {
float scores[] = {90, 80, 85, 92, 88};
int n = 5;
float avg = average(scores, n);
printf("平均分为:%.2f\n", avg);
return 0;
}
```
这里使用了一个 `average` 函数来计算平均值,传入参数为分数数组 `scores` 和数组长度 `n`。函数内部首先计算总分和最高、最低分,然后将最高、最低分从总分中减去,最后计算平均值并返回。在 `main` 函数中,我们定义了一个分数数组 `scores`,并传入 `average` 函数计算平均分并输出结果。
阅读全文