一道简单的ACM题目,怎么总是说Wrong Answer呢
Description我们在“渊子数”的题目中已经了解了渊子是个什么样的人了,他在大一的时候参加过工商学院的“英语聚乐部”。告诉你个秘密,这个俱乐部是个好地方,不但活动精...
Description
我们在“渊子数”的题目中已经了解了渊子是个什么样的人了,他在大一的时候参加过工商学院的“英语聚乐部”。告诉你个秘密,这个俱乐部是个好地方,不但活动精彩而且有MM。
这不,英语俱乐部举办了一个叫做“英文金曲大赛”的节目。这个节目有好多人参加,这不,成绩出来了,渊子当是很勇敢,自告奋勇接下了算出大家的总得分的任务。
当时有7个评委,每个评委都要给选手打分,现在要求去掉一个最高分和去掉一个最低分,再算出平均分。结果精确到小数点后两位。
Input
测试数据包括多个实例。
每组数据包括7个实数,代表评委们对该选手的评分。紧接着是选手的名字,名字的长度不超过30个字符。
输入直到文件结束。
Output
算出每位选手名字和最终得分,结果保留两位有效数字。
Sample Input
10 10 10 10 10 10 9 xiaoyuanwang
0 0 0 0 0 0 0 beast
Sample Output
xiaoyuanwang 10.00
beast 0.00
代码如下:
#include<iostream>
#include<string>
#include<iomanip>
#include<algorithm>
using namespace std;
int main()
{
double a[10],b[10],n,s;int i;
string c;
while(cin)
{
n=s=0;
for(i=0;i<7;i++)
{
cin>>a[i];
}
cin>>c;
sort(a,a+7);
for(i=0;i<5;i++)
{
b[i]=a[i+1];
}
for(i=0;i<5;i++)
{
n=n+b[i];
}
s=n/5.0;
cout<<c<<" "<<setiosflags(ios::fixed)<<setprecision(2)<<s<<endl;
}
return 0;
} 展开
我们在“渊子数”的题目中已经了解了渊子是个什么样的人了,他在大一的时候参加过工商学院的“英语聚乐部”。告诉你个秘密,这个俱乐部是个好地方,不但活动精彩而且有MM。
这不,英语俱乐部举办了一个叫做“英文金曲大赛”的节目。这个节目有好多人参加,这不,成绩出来了,渊子当是很勇敢,自告奋勇接下了算出大家的总得分的任务。
当时有7个评委,每个评委都要给选手打分,现在要求去掉一个最高分和去掉一个最低分,再算出平均分。结果精确到小数点后两位。
Input
测试数据包括多个实例。
每组数据包括7个实数,代表评委们对该选手的评分。紧接着是选手的名字,名字的长度不超过30个字符。
输入直到文件结束。
Output
算出每位选手名字和最终得分,结果保留两位有效数字。
Sample Input
10 10 10 10 10 10 9 xiaoyuanwang
0 0 0 0 0 0 0 beast
Sample Output
xiaoyuanwang 10.00
beast 0.00
代码如下:
#include<iostream>
#include<string>
#include<iomanip>
#include<algorithm>
using namespace std;
int main()
{
double a[10],b[10],n,s;int i;
string c;
while(cin)
{
n=s=0;
for(i=0;i<7;i++)
{
cin>>a[i];
}
cin>>c;
sort(a,a+7);
for(i=0;i<5;i++)
{
b[i]=a[i+1];
}
for(i=0;i<5;i++)
{
n=n+b[i];
}
s=n/5.0;
cout<<c<<" "<<setiosflags(ios::fixed)<<setprecision(2)<<s<<endl;
}
return 0;
} 展开
2个回答
展开全部
怎么看都觉得没错,是不是精度问题?试下把输出改成这样?
cout<<c<<" "<<setiosflags(ios::fixed)<<setprecision(2)<<s+1e-6<<endl;
cout<<c<<" "<<setiosflags(ios::fixed)<<setprecision(2)<<s+1e-6<<endl;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询