c语言处理一个数组,去掉最大值和最小值,其余值取平均
时间: 2024-03-15 22:46:32 浏览: 349
去掉一个最高分一个最低分,求平均值
5星 · 资源好评率100%
以下是C语言处理一个数组,去掉最大值和最小值,其余值取平均的示例代码:
```c
#include <stdio.h>
float average(int arr[], int n) {
int i, sum = 0, max = arr[0], min = arr[0];
for (i = 0; i < n; i++) {
sum += arr[i];
if (arr[i] > max) {
max = arr[i];
}
if (arr[i] < min) {
min = arr[i];
}
}
return (float) (sum - max - min) / (n - 2);
}
int main() {
int arr[] = {3, 5, 2, 8, 9, 1, 4, 6, 7};
int n = sizeof(arr) / sizeof(arr[0]);
float avg = average(arr, n);
printf("Average: %.2f\n", avg);
return 0;
}
```
在上面的示例代码中,我们定义了一个函数 `average`,它接受一个整数数组 `arr` 和数组的大小 `n`,并返回一个浮点数,表示去掉最大值和最小值后其余值的平均值。我们使用一个循环遍历整个数组,同时计算数组元素的总和,并找到最大值和最小值。最后,我们使用总和减去最大值和最小值,并将其除以剩余元素的数量来计算平均值。
在 `main` 函数中,我们定义了一个整数数组 `arr`,并计算其大小 `n`。我们使用 `average` 函数计算去掉最大值和最小值后其余值的平均值,并将其打印到控制台上。
阅读全文