问题及代码:
/*
*Copyright(c)2014,烟台大学计算机学院
*Allrights reserved.
*文件名称:MADE30.cpp
*作 者:孙化龙
*完成日期:2014年11月2日
*版 本 号:v1.0
*
*问题描述:在歌手大奖赛中,有若干评委为参赛的选手打分,分数为0~10分。选手最后得分为:去掉一个最高分和一个最低分后,取其余分数的平均值
*输入描述:若干个评委为参赛的选手打分
*输出描述:选手最后得分为:去掉一个最高分和一个最低分后,取其余分数的平均值
*/
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int count,a;
char b;
cout<<"请输入评委人数:";
cin>>a;
do
{
double x,max=0,min=10,sum=0,are;
cout<<"请输入选手的成绩(0~10)"<<endl;
for(count=1; count<=a; count++)
{
do
{
cout<<"第"<<count<<"位评委给分:";
cin>>x;
}
while(x<0||x>10);
if(max<x)
max=x;
if(min>x)
min=x;
sum=sum+x;
}
are=(sum-min-max)/(a-2);
cout<<"减去一个最高分:"<<max<<",减去一个最低分:"<<min<<"。"<<endl;
cout<<"当前选手的最后得分是:"<<are<<endl;
cout<<"********************"<<endl;
cout<<"按N退出,按其他键继续...";
cin>>b;
}
while(b!='N'&&b!='n');
return 0;
}
运行结果: