去掉一个最大值和最小值求平均数c语言
时间: 2023-09-04 22:12:19 浏览: 436
可以通过以下步骤来实现:
1. 读入一组数并存储在数组中。
2. 遍历数组,找到最大值和最小值,并记录它们的下标。
3. 将最大值和最小值对应的数组元素设为一个不可能出现的值,比如负数或0。
4. 再次遍历数组,累加所有不为0或负数的元素,并统计它们的个数。
5. 最后,求出平均数并输出。
以下是一个示例代码:
```c
#include <stdio.h>
#define MAX_SIZE 100
int main() {
int arr[MAX_SIZE], n, i;
int max_index = 0, min_index = 0;
double sum = 0;
int count = 0;
printf("请输入数组长度:");
scanf("%d", &n);
printf("请输入数组元素:");
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
if (arr[i] > arr[max_index]) {
max_index = i;
}
if (arr[i] < arr[min_index]) {
min_index = i;
}
}
arr[max_index] = -1;
arr[min_index] = -1;
for (i = 0; i < n; i++) {
if (arr[i] >= 0) {
sum += arr[i];
count++;
}
}
printf("平均数为:%.2f\n", sum / count);
return 0;
}
```
阅读全文