剔除所有最大最小值后,计算数组元素的平均值C语言
时间: 2024-09-13 08:07:00 浏览: 50
在C语言中,要剔除所有最大最小值后计算数组元素的平均值,你需要先找出数组中的最大值和最小值,然后遍历数组,将除了最大值和最小值之外的所有元素加起来,最后除以剩余元素的数量。以下是一个简单的实现示例:
```c
#include <stdio.h>
double calculateAverageExcludingMinMax(int arr[], int size) {
if(size <= 2) {
// 如果数组大小不足以剔除最小值和最大值,返回错误提示或进行其他处理
return -1; // 这里返回-1表示错误
}
int min = arr[0], max = arr[0];
int sum = 0;
// 寻找最小值和最大值
for(int i = 1; i < size; i++) {
if(arr[i] < min) {
min = arr[i];
}
if(arr[i] > max) {
max = arr[i];
}
sum += arr[i];
}
// 剔除最小值和最大值后计算剩余元素的平均值
return (double)(sum - max) / (size - 2);
}
int main() {
int numbers[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int size = sizeof(numbers) / sizeof(numbers[0]);
double average = calculateAverageExcludingMinMax(numbers, size);
if(average != -1) {
printf("剔除最大最小值后的平均值是: %.2f\n", average);
} else {
printf("数组大小不足以剔除最小值和最大值\n");
}
return 0;
}
```
这段代码定义了一个`calculateAverageExcludingMinMax`函数,它接收一个整数数组和数组的大小,计算剔除最大值和最小值后剩余元素的平均值,并返回这个值。
阅读全文