c语言使用函数去掉一个最高分和最低分求平均分
时间: 2023-08-08 21:07:15 浏览: 315
可以使用以下的 C 语言代码实现该功能:
```c
#include <stdio.h>
float avgWithoutMinMax(float arr[], int n) {
float sum = 0.0;
float min = arr[0], max = arr[0];
// 找出最大值和最小值
for (int i = 0; i < n; i++) {
if (arr[i] < min) {
min = arr[i];
}
if (arr[i] > max) {
max = arr[i];
}
sum += arr[i];
}
// 减去最大值和最小值
sum = sum - min - max;
// 计算平均值
return sum / (n - 2);
}
int main() {
float scores[] = { 80.5, 90.0, 75.5, 85.0, 95.0 };
int n = sizeof(scores) / sizeof(scores[0]);
float avg = avgWithoutMinMax(scores, n);
printf("平均分是: %.2f", avg);
return 0;
}
```
该程序使用了一个 `avgWithoutMinMax` 函数来计算去掉最高分和最低分后的平均值。首先,它遍历一遍数组来找出最大值和最小值,并累加所有分数的和。然后,它减去最大值和最小值,最后计算平均值并返回。在 `main` 函数中,我们定义了一个数组 `scores` 来存储成绩,并使用 `sizeof` 函数来计算数组的长度。最后,我们调用 `avgWithoutMinMax` 函数来计算平均分,并使用 `printf` 函数输出结果。
阅读全文