评委评分系统

/* 
* 程序的版权和版本声明部分: 
* Copyright (c) 2012, 烟台大学计算机学院 
* All rights reserved. 
* 文件名称:评委评分系统.cpp 
* 作    者:毛通 
* 完成日期:2013 年 1月 26 日 
* 输入描述:输入十个评委的评分
*/

 

/*
在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。
选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。
同时对评委评分进行裁判,即在10个评委中找出最公平(即评分最接返平均分)和最不公平(即与平均分的差距最大)的评委,
请编写程序实现。
*/

#include<iostream>
#include<cmath>

using namespace std;

int main()
{
	int i;
	double n;  //最后得分
	double sum=0;  //十个分数
    double a[10];
//打分

	cout << "请十位评委为选手打分 : " << endl;

	for(i=0;i<10;i++)
	{
		cin>>a[i];
	}

	//求最高分
	double max;             //求最大值
	max=a[0];          
	for(i=0;i<10;i++)
	{
		if(max<a[i])
			max=a[i];
	}
	cout<<"最高分"<<max<<endl;

	//求最低分
	double min;          //求最小值
	min=a[0];
	for(i=0;i<10;i++)
	{
		if(min>a[i])      
			min=a[i];
	}
	cout<<"最低分"<<min<<endl;

	//求和然后减去max和min
	
	for(i=0;i<10;i++)//求数组和
	{
		sum=sum+a[i];
	}
	cout<<"总分"<<sum<<endl;
	n=(sum-max-min)/8;

	cout<<"平均分"<<n<<endl;

	//最公平(最接近平均分) 最不公平(最不接近平均分)裁判
	//再定义一个数组 存放差值(分与平均分的差),求出差值最小者和最大者

	double b[10];

	for(i=0;i<10;i++)
	{
		b[i]=fabs(a[i]-n);
	}
	double max_1;             //求最大值
	max_1=0;          
	for(i=0;i<10;i++)
	{
		if(max_1<b[i])
			max_1=b[i];
	}

	
	double min_1;          //求最小值
	min_1=max_1;
	for(i=0;i<10;i++)
	{
		if(min_1>b[i])      
			min_1=b[i];
	}

		for(i=0;i<10;i++)
	{
		if(max_1==b[i])
			cout<<"最不公平裁判"<<i+1<<endl;;
		if(min_1==b[i])
			cout<<"最公平裁判"<<i+1<<endl;
	}

	return 0;

}


/*
运行结果:

评委评分系统_第1张图片

*/

你可能感兴趣的:(评委评分系统)