使用C语言用长度为8数组接受一组长度为8数据数组保存,并且找出其中最大值和最小值舍弃,再对剩下数据求平均
时间: 2024-05-06 21:17:17 浏览: 95
C语言程序设计-编写程序。从键盘读入8个整数存入数组a中并输出这8个数据。和、最大值、最小值及平均值。正数之和、负数之和
5星 · 资源好评率100%
可以使用以下代码实现:
```c
#include <stdio.h>
int main() {
int arr[8];
int i, max, min;
double sum = 0;
printf("请输入8个整数:\n");
for (i = 0; i < 8; i++) {
scanf("%d", &arr[i]);
if (i == 0) {
max = arr[i];
min = arr[i];
} else {
if (arr[i] > max) {
max = arr[i];
}
if (arr[i] < min) {
min = arr[i];
}
}
}
for (i = 0; i < 8; i++) {
if (arr[i] != max && arr[i] != min) {
sum += arr[i];
}
}
printf("平均值为:%lf\n", sum / 6);
return 0;
}
```
代码解析:
1. 定义长度为8的整型数组 `arr` 存储输入的8个整数。
2. 使用 `for` 循环逐个输入8个整数,并且同时找出数组中的最大值和最小值,初始时将第一个元素赋值给 `max` 和 `min`。
3. 再次使用 `for` 循环遍历数组,将不等于最大值和最小值的元素的值累加到变量 `sum` 中。
4. 最后输出平均值,即剩下的数据的和除以6(因为舍弃了两个数据)。
需要注意的是,这里假设输入的数据都是整数,如果需要支持输入浮点数,需要将数组的类型改为 `double`,并且使用 `%lf` 格式化输入和输出。
阅读全文