c语言编程题5个评委打分去掉最高和最低分如何求平均值?

求代码

#include<stdio.h>

int main()

{ float x,max,min,s=0;

  int i;

  scanf("%f",&max);

  s=min=max;

  for(i=1;i<5;i++)

  {scanf("%f",&x);

   s+=x;

   if(x>max)max=x;

   if(x<min)min=x;

  }

  printf("%f\n",(s-max-min)/3);

  return 0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-09-18

#include<stdio.h>

#define N 5

void main() { float a,x,m,n; int i; a=0;

for ( i=0;i<N;i++ ) {

scanf("%f",&x); a+=x;

if ( i==0 ) m=n=x;

else if ( m<x ) m=x; else if ( n>x ) n=x;

}

a-=m; a-=n; a/=N-2 printf("%f\n",a);

}

追问

麻烦问一下为什么a-=m

追答

m存放的是最高分,n存放最低分,a无论最高分和最低分全进行累加了,因此要符合题意去掉它们

第2个回答  2019-09-18
main()
{
int n=5,i,j,t,a[5];
double s=0;
for(i=0;i<n;i++)scanf("%d",a+i);
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(a[i]>a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
for(i=1;i<n-1;i++)s+=a[i];
s\=5.0;
printf("平均分为:%2lf。\n");
}
有什么问题请留言。追答

最后一行改成%. 2f,增加一个小数点。

第3个回答  2019-09-18
int main()
{
int i,t,min,max,sum;

printf("请输入5个评委的打分:");
scanf("%d",&min);
max=min;
sum=min;
for(i=1;i<5;i++)
{
scanf("%d",&t);
sum+=t;
if(t>max)
max=t;
if(t<min)
min=t;
}
printf("平均分:%.1f\n",((float)(sum-max-min))/3);
return 0;
}追问

你好,为什么没有#include

追答

#include

第4个回答  2019-09-18
C语言编程如下:
#include<stdio.h>
#define N 5
void main() { float a,x,m,n; int i; a=0;
for ( i=0;i<N;i++ ) {scanf("%f",&x); a+=x;
if ( i==0 ) m=n=x;
else if ( m<x ) m=x; else if ( n>x ) n=x;}
a-=m; a-=n; a/=N-2 printf("%f\n",a);}
即可得平均得分。
相似回答