用C语言编出:十个不同的数,去掉最大和最小的数,求另外八个书的平均数

急啊 各位帮帮忙 谢了

第1个回答  2009-06-03
算法:求出最大和最小值以及总和,总和减去最大和最小值然后除以8;
int main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
int max=a[0],min=a[0],sum=0;//最大和最小值都初始化为第一个整数,其实随意哪个都行。
double avg=0.0;
for(int i=0;i<10;i++)
{
if(max<a[i]) max=a[i];//求出最大值
if(min>a[i]) min=a[i];//求出最小值
sum+=a[i];//求和
}
avg=(sum-min-max)*0.125;//总和减去最大最小值除以8
cout<<avg<<endl;
system("PAUSE");
return 0;
}
第2个回答  2009-06-03
#include"stdio.h"
void main()
{
int a[10],sum=0;
int i,j,t,count=0;
double average;
printf("Input 10 numbers:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=0;j<9;j++) //冒泡排序
for(i=0;i<9-j;i++)
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
printf("the sorted numbers:\n");
for(i=1;i<9;i++) //除掉最大最小数
{
printf("%d ",a[i]);
sum=sum+a[i];
}
printf("\n");
average=(double)sum/8;
printf("The averge is:%f\n",average);
}本回答被网友采纳
第3个回答  2009-06-03
先排序,计算只取中间8个就可以了。
相似回答