使用C语言用数组接受一组数据数组保存,并且找出最大值和最小值舍弃,再对剩下数据求平均
时间: 2024-05-06 14:18:14 浏览: 96
从个数中找出其中最大数和最小数程序。-数据结构c语言版
可以使用以下代码实现:
```c
#include <stdio.h>
int main() {
int n; // 数组长度
printf("请输入数组长度:");
scanf("%d", &n);
int arr[n]; // 定义数组
printf("请输入数组元素:");
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
// 找出最大值和最小值
int max = arr[0], min = arr[0];
for (int i = 1; i < n; i++) {
if (arr[i] > max) {
max = arr[i];
}
if (arr[i] < min) {
min = arr[i];
}
}
// 求平均值(去掉最大值和最小值)
int sum = 0, count = 0;
for (int i = 0; i < n; i++) {
if (arr[i] != max && arr[i] != min) {
sum += arr[i];
count++;
}
}
double avg = (double) sum / count;
printf("最大值:%d\n", max);
printf("最小值:%d\n", min);
printf("平均值:%lf\n", avg);
return 0;
}
```
代码的思路是先通过 `scanf` 获取数组长度和数组元素,然后遍历一遍数组找出最大值和最小值。接着再遍历一遍数组求和并统计有效元素的个数,最后计算出平均值。注意要将 `sum` 强制转换为 `double` 类型,否则计算结果会出错。
阅读全文