c语言高手急救: 从输入的10个数中,找出最大值和最小值,然后去掉一个最大数和一个最小数,求剩余数的平均

如题所述

#include <stdio.h>
#define N 10 //修改这个数可以改变数组的大小
main()
{
int a[N],i,max,min;
float aver=0;
printf("请输入%d个正数!\n",N);
for(i=0;i<N;i++)
scanf("%d",&a[i]);
max=a[0];
min=a[0];
for(i=0;i<N;i++)
{
if( max <a[i])max=a[i];
if(min>a[i])min=a[i];
aver+=a[i]; //类加所有输入数,求和
}
aver=(aver-max-min)/(N-2); //和减去最大最小,求平均数
printf("去掉最大最小数后,平均数是:%f",aver);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-04
// 存放10个数的数组,输入部分略
int array[10];
// 用于累加的数
int sum = 0;
// 最小值和最大值
int min=array[0], max=array[0];
for( int i=1; i<10; i++ )
{
if( array[i] < min )
min = array[i];
else if( array[i] > max )
max = array[i];
sum += array[i];
}
// 减去最大和最小值,求平均
double average = (sum - max - min) / 8.0; // 必须是浮点除法
相似回答