C语言编程,评委打分问题(及格)6
发布网友
发布时间:2023-10-21 01:46
我来回答
共2个回答
热心网友
时间:2023-11-21 16:33
#include<stdio.h>
#include<math.h>
int main()
{
float k,s=0,a[10],max,min,fair,unfair;
int i,j,t;
for(i=0;i<10;i++)
{
scanf("%f",&a[i]);
s+=a[i];
}
min=max=a[0];
for(i=1;i<10;i++)
{
if(a[i]>max)
max=a[i];
if(a[i]<min)
min=a[i];
}
k=(s-max-min)/8;
printf("the score is %f\n",k);
fair=fabs(a[0]-k);
unfair=fabs(a[0]-k);
j=0;
t=0;
for(i=1;i<10;i++)
{
if(fabs(a[i]-k)<fair)
{
fair=fabs(a[i]-k);
j=i;
}
if(fabs(a[i]-k)>unfair)
{
unfair=fabs(a[i]-k);
t=i;
}
}
printf("the fair score is %f\n",a[j]);
printf("the unfair score is %f",a[t]);
for(i=0;i<9;i++)
{
for(j=0;j<9-i;j++)
{
if(a[j]<a[j+1])
{
k=a[j];
a[j]=a[j+1];
a[j+1]=k;
}
}
}
printf("\nafter sort ,the score are follows:\n");
for(i=0;i<10;i++)
printf("%f\t",a[i]);
}
您好,很高兴为您解答,流星不死为您答疑解惑
如果本题还有不懂的地方请追问,望采纳我的回答。
祝楼主学习进步。
上面的代码可以直接复制到编译器里,带换行。
热心网友
时间:2023-11-21 16:33
评委打分的问题,只要先求一个,粉累加的总分,并且在计算的过程当中,同时统计出最高分和最低分,然后再以得到的总分上减去一个最高分,减去一个最低分,就可以进行计算了
#include <stdio.h>
int main()
{ int n,i,x,s,max,min;
while(scanf("%d",&n)==1)
{ scanf("%d",&x);
s=max=min=x;
for(i=1; i<n; i++)
{ scanf("%d",&x);
if(x>max)max=x;
if(x<min)min=x;
s+=x;
}
printf("%.2f\n",(s-max-min)/(n-2.0));
}
return 0;
}