C语言20个单元数组,去掉5个最大值,去掉5个最小值,剩余10个数取平均值
时间: 2023-03-02 16:41:28 浏览: 278
假设已经有一个长度为20的C语言数组,可以按以下步骤去掉5个最大值和5个最小值,然后取剩余10个数的平均值:
1. 从数组中找到最大值和最小值,并记录它们的下标。
2. 从数组中删除这些最大值和最小值。
3. 重复步骤1和步骤2,直到删除了5个最大值和5个最小值。
4. 遍历剩余的数组元素,求它们的总和。
5. 将总和除以10,得到平均值。
代码示例:
```c
#include <stdio.h>
int main() {
int arr[20] = {2, 5, 3, 8, 7, 1, 6, 4, 10, 9, 15, 12, 13, 11, 18, 17, 16, 20, 19, 14};
int i, j, max_index, min_index, sum = 0;
// 去掉5个最大值和5个最小值
for (i = 0; i < 5; i++) {
max_index = 0;
min_index = 0;
for (j = 1; j < 20; j++) {
if (arr[j] > arr[max_index]) {
max_index = j;
}
if (arr[j] < arr[min_index]) {
min_index = j;
}
}
arr[max_index] = 0;
arr[min_index] = 0;
}
// 求剩余10个数的平均值
for (i = 0; i < 20; i++) {
sum += arr[i];
}
printf("平均值为:%d\n", sum / 10);
return 0;
}
```
阅读全文