3172: 最公正的裁判
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 485 Solved: 164
[ Submit][ Status][ Web Board]
Description
YTU APP比赛的裁判由7人组成。每位裁判参赛者提交的作品,给出0--100的一个整数分。每当评判完一位参赛者的app,就要评定哪位裁判的给分最公正。最公正的裁判给出的分和7位裁判给出的平均分最接近。现在任意给出一组裁判的打分,请编写程序评比出最佳裁判。如果有多位最公正裁判,只输出位次最靠前的裁判位次。注意:平均分只保留整数部分。
Input
7位裁判的打分
Output
最公正裁判的位次。如果有多位最公正裁判,输出位次最靠前的裁判位次。注意位次从 1 开始。
Sample Input
1 2 3 4 5 6 7
Sample Output
4
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int a[8];//存放每位裁判的打分
int fa,min,t;
int answer=1;//最公正的裁判的位置,初始化为1
int i;
int sum=0,aver,fair;
for(i=0;i<7;i++)
{
scanf("%d",&a[i]);
sum+=a[i];//输入每位裁判打分并求出总和
}
aver=sum/7;//求出平均数
min=fabs(a[0]-aver);//设最小的误差为第一个裁判的
fair=a[0];
for(i=0;i<7;i++)
{
fa=fabs(a[i]-aver);
if(fa<min)
{
t=min;
min=fa;
fa=t;
fair=a[i];
answer=i+1;
}
}
printf("%d",answer);
return 0;
}
细心就能做对的一道题,注意题目问的是裁判位次,即第几位裁判,即输出i+1即可!
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int a[8];//存放每位裁判的打分
int fa,min,t;
int answer=1;//最公正的裁判的位置,初始化为1
int i;
int sum=0,aver,fair;
for(i=0;i<7;i++)
{
scanf("%d",&a[i]);
sum+=a[i];//输入每位裁判打分并求出总和
}
aver=sum/7;//求出平均数
min=fabs(a[0]-aver);//设最小的误差为第一个裁判的
fair=a[0];
for(i=0;i<7;i++)
{
fa=fabs(a[i]-aver);
if(fa<min)
{
t=min;
min=fa;
fa=t;
fair=a[i];
answer=i+1;
}
}
printf("%d",answer);
return 0;
}