用C语言编写函数,其功能是将一组数据中,去掉一个最高分,去掉一个最低分,然后求平均值,并通过函数返回
时间: 2024-02-21 20:01:46 浏览: 64
好的,我来为您编写这个函数:
```c
#include <stdio.h>
double average(double arr[], int len) {
double sum = 0.0, max = arr[0], min = arr[0];
int i;
for (i = 0; i < len; i++) {
sum += arr[i];
if (arr[i] > max) {
max = arr[i];
}
if (arr[i] < min) {
min = arr[i];
}
}
sum -= max + min;
return sum / (len - 2);
}
int main() {
double arr[] = {3, 5, 1, 7, 9};
int len = sizeof(arr) / sizeof(double);
double avg = average(arr, len);
printf("The average value is: %lf\n", avg);
return 0;
}
```
这个函数的思路是:遍历数组,找到最高分和最低分,累加剩余元素的和,最后除以剩余元素的个数来求平均值。
请注意,这个函数假设数组中至少有两个元素,如果数组长度小于等于2,将会返回 NaN(不是一个数)。如果您有其他的要求,请告诉我。
阅读全文