题目内容:
定义一个含10个整型元素的一维数组,从键盘上输入10个元素值,求去掉最大值和最小值之后的元素平均值.
输入格式:
用循环控制依次输入10个元素值,scanf语句中的格式控制串为: "%d"
输出格式:
输出平均值, printf中的格式控制串为 "%lf\n"
输入样例:
2 3 4 5 6 2 4 6 4 3
输出样例:
3.833333
#include<stdio.h>
int main()
{
int i,a,big,small,m,sum=0,nbig,nsmall;
float ave;
int n,max,b,c=0;
int n1,min,b1,f=0;
int base[10]={0};
for(i=0;i<10;i++)
{
scanf("%d",&a);
base[i]=a;
}
max=base[0];
for(n=1;n<10;n++)
{
if(base[n]>max)
{
max=base[n];
}
}
for(b=0;b<=9;b++)
{
if(base[b]==max)
c++;
}
min=base[0];
for(n1=1;n1<10;n1++)
{
if(base[n1]<min)
{
min=base[n1];
}
}
for(b1=0;b1<=9;b1++)
{
if(base[b1]==min)
f++;
}
big=max;
small=min;
nbig=c;
nsmall=f;
for(m=0;m<10;m++)
{
sum+=base[m];
}
ave=(sum-small*nsmall-big*nbig)*1.0/(10-nbig-nsmall);
printf("%lf\n",ave);
return 0;
}