我们在“渊子数”的题目中已经了解了渊子是个什么样的人了,他在大一的时候参加过工商学院的“英语聚乐部”。告诉你个秘密,这个俱乐部是个好地方,不但活动精彩而且有 MM。 这不,英语俱乐部举办了一个叫做“英文金曲大赛”的节目。这个节目有好多人参加,这不,成绩出来了,渊子当是很勇敢,自告奋勇接下了算出大家的总得分的任务。当时有7个评委,每个评委都要给选手打分,现在要求去掉一个最高分和去掉一个最低分,再算出平均分。结果精确到小数点后两位。
输入格式
测试数据包括多个实例。每组数据包括7个实数,代表评委们对该选手的评分。紧接着是选手的名字,名字的长度不超过30个字符。输入直到文件结束。
输出格式
输出每位选手名字和最终得分,结果保留两位有效数字。
样例输入
10 10 10 10 10 10 9 xiaoyuanwang
0 0 0 0 0 0 0 beast
样例输出
xiaoyuanwang 10.00
beast 0.00
解题思路
这道题用vector向量去解是很简单的,输入,然后sort排序,去掉第一个和最后一个取平均值输出,这道题就迎刃而解。最后输出的时候记得保留两位有效数字。
代码如下
#include <iostream>
#include <vector>
#include <algorithm>
#include <iomanip>
#include <string>
using namespace std;
int main()
{
int i;
string s;
vector <double> v(7);
while(cin>>v[0]){
for(i=1;i<7;i++)
cin>>v[i];
cin>>s;
sort(v.begin(),v.end()) ;
double arg;
arg=(v[1]+v[2]+v[3]+v[4]+v[5])/5;
cout<<s<<" "<<setprecision(2) <<std::fixed <<arg<<endl; //保留两位有效数字
}
return 0;
}