c语言编程 输入10个数,去掉最大和最小的后求平均数

如题所述

#include "stdio.h"
int main()
{
int i;
double max=0,min=0,a[10],avg=0;
scanf("%lf",&a[0]);
min=max=a[0];
for(i=1;i<10;i++)
{
scanf("%lf",&a[i]);
if(a[i]>max)
max=a[i];
else if(a[i]<=min)
min=a[i];
}
avg=-(min+max);
for(i=0;i<10;i++)
avg+=a[i];
avg/=8;
printf("最大值:\t%f\n最小值:\t%f\n去最大最小值后平均值:%f\n",max,min,avg);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-07
这个比较简单的,跟你说个思路自己想法实现。输入第一个数,假设它最大,也是最小。然后输入第二个数去跟第一个数比较,比第一个数大则更新最大数,比第一个数小则更新最小数。
第2个回答  2015-04-07
#include<stdio.h>
int main()
{
double aver=0;
int maxvalue,minvalue,data,i;
scanf("%d",&data);
maxvalue = minvalue = data;
aver += data;
for(i=1;i<10;i++)
{
scanf("%d",&data);
if(maxvalue<data) maxvalue = data;
if(minvalue>data) minvalue = data;
aver += data;
}
aver -= maxvalue+minvalue;
aver /=8;
printf("%f\n",aver);
return 0;
}本回答被网友采纳
相似回答