问题及代码:
/*
*Copyright(c) 2014 烟台大学计算机学院
*All rights reserved.
*文件名称:test.cpp
*作者:尚 月
*完成日期:2014年 11 月 03 日
*版本号:V1.0
*
*问题描述:歌手大奖赛中,m位评委给参赛选手打分,分为0~10分。选手最后得分为:去掉一个最高分和一个最低分后,取其余(m-2)个分数的平均值。
*输入描述:评委们给参赛选手打的分数.
*程序输出:该选手的最后得分.
*/
#include <iostream>
#include<iomanip>
using namespace std;
int main()
{
double f,z,sum=0,max=0,min=10;
int i=1,m;
cout<<"请输入评委的人数:"<<endl;
cin>>m;
cout<<"请输入选手的成绩(0~10):"<<endl;
while (i<=m)
{
cin>>f;
cout<<"第"<<i<<"位评委给分:"<<f<<endl;
sum+=f;
if(max<f)
max=f;
if(min>f)
min=f;
i++;
}
z=(sum-max-min)/(m-2);
cout<<"减去一个最高分:"<<max<<", "<<"减去一个最低分:"<<min<<"。"<<endl;
cout<<"当前选手的得分是:"<<setiosflags(ios::fixed)<<setprecision(3)<<z<<endl;
return 0;
}
总结:
刚才在OJ平台上做大奖赛计分项目时学会了保留三位小数的方法,现在用上了,感觉不错哦。。。