帮我用C写一个五个数去掉最大值和最小值后,取平均值
时间: 2023-05-24 18:05:31 浏览: 42
#include<stdio.h>
int main()
{
int a[5];
int i,max,min,sum=0;
float avg;
printf("请输入五个数:");
for(i=0;i<5;i++)
{
scanf("%d",&a[i]);
}
max=a[0];
min=a[0];
for(i=1;i<5;i++)
{
if(a[i]>max)
max=a[i];
if(a[i]<min)
min=a[i];
}
for(i=0;i<5;i++)
{
if(a[i]!=max&&a[i]!=min)
sum+=a[i];
}
avg=(float)sum/3;
printf("去掉最大值和最小值后的平均值为:%.2f",avg);
return 0;
}
相关问题
帮用C语言我写一个在五个数中去掉最大值和最小值后取平均值
好的,以下是代码:
```c
#include <stdio.h>
#define NUM 5
float removeMaxMinAndGetAverage(int nums[])
{
int i, max, min;
float sum = 0;
// 找到最大值和最小值的下标
max = min = 0;
for (i = 1; i < NUM; i++) {
if (nums[i] > nums[max]) {
max = i;
} else if (nums[i] < nums[min]) {
min = i;
}
}
// 计算平均值
for (i = 0; i < NUM; i++) {
if (i != max && i != min) {
sum += nums[i];
}
}
return sum / (NUM - 2);
}
int main()
{
int nums[NUM], i;
printf("请输入%d个整数:\n", NUM);
for (i = 0; i < NUM; i++) {
scanf("%d", &nums[i]);
}
printf("去掉最大值和最小值后的平均值为:%.2f\n", removeMaxMinAndGetAverage(nums));
return 0;
}
```
希望对你有帮助!
帮我用C语言写一个对五个数去掉一个最大值,去掉一个最小值后取平均值的函数
以下是一个用C语言实现的函数,用于计算五个数去掉一个最大值和一个最小值后的平均值:
```c
double avg_without_extremes(double a, double b, double c, double d, double e) {
double sum = a + b + c + d + e;
double max = a > b ? (a > c ? (a > d ? (a > e ? a : e) : (d > e ? d : e)) : (c > d ? (c > e ? c : e) : (d > e ? d : e))) : (b > c ? (b > d ? (b > e ? b : e) : (d > e ? d : e)) : (c > d ? (c > e ? c : e) : (d > e ? d : e)));
double min = a < b ? (a < c ? (a < d ? (a < e ? a : e) : (d < e ? d : e)) : (c < d ? (c < e ? c : e) : (d < e ? d : e))) : (b < c ? (b < d ? (b < e ? b : e) : (d < e ? d : e)) : (c < d ? (c < e ? c : e) : (d < e ? d : e)));
sum -= max + min;
return sum / 3;
}
```
用法示例:
```c
double result = avg_without_extremes(5.5, 2.0, 4.5, 3.0, 6.5);
printf("Average without extremes: %lf\n", result);
```
输出:
```
Average without extremes: 4.000000
```