8、某次比赛中,有10个评委为参赛的选手打分,分数为1~100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。同时在10个评委中找出最公平(即评分最接**均分)和最不公平(即与平均分的差距最大)的评委。
这道题 编完后 发现前面一半是对的 后面一般不知道为什么总是很奇怪 输出的书不正常 求帮忙啊
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
int a[10] , i , j ,max , min , MA , MI, sum=0 ;
double avg;
for(i=0;i<10; i++)
{
cin >> a[i];
if ( i==0 ) max = min = a[0];
if ( max < a[i] ) max = a[i];
if ( min > a[i] ) min = a[i];
sum+=a[i];
}
avg = ( sum - max - min )/8.0;
for(j=0;j<10;j++)
{
if ( j==0 ) MA = MI = abs(avg - a[0]);
if ( MA < abs(avg- a[j]) ) MA = a[j];
if ( MI > abs(avg- a[j]) ) MI = a[j];
}
cout << "最高分为:" << max<<endl;
cout << "最低分为:" << min<<endl;
cout << "选手得分为:" << avg<<endl;
cout << "最不公平的裁判是打分为" << MI << "的裁判" << endl;
cout << "最公平的裁判是打分为" << MA << "的裁判" << endl;
return 0 ;
}
这道题 编完后 发现前面一半是对的 后面一般不知道为什么总是很奇怪 输出的书不正常 求帮忙啊
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
int a[10] , i , j ,max , min , MA , MI, sum=0 ;
double avg;
for(i=0;i<10; i++)
{
cin >> a[i];
if ( i==0 ) max = min = a[0];
if ( max < a[i] ) max = a[i];
if ( min > a[i] ) min = a[i];
sum+=a[i];
}
avg = ( sum - max - min )/8.0;
for(j=0;j<10;j++)
{
if ( j==0 ) MA = MI = abs(avg - a[0]);
if ( MA < abs(avg- a[j]) ) MA = a[j];
if ( MI > abs(avg- a[j]) ) MI = a[j];
}
cout << "最高分为:" << max<<endl;
cout << "最低分为:" << min<<endl;
cout << "选手得分为:" << avg<<endl;
cout << "最不公平的裁判是打分为" << MI << "的裁判" << endl;
cout << "最公平的裁判是打分为" << MA << "的裁判" << endl;
return 0 ;
}


