/*
烟台大学计算机学院
作者:任子仪
日期:2013年11月10日
问题描述:
样例输入:
样例输出:
问题分析:
*/
# include <iostream>
using namespace std;
double compare(double a, double b);
double contrast(double a, double b);
int main()
{
double a,b,c,d,e,f,g,h,i,j,k;
cout<<"请输入选手的成绩(0—-10)"<<endl;
cout<<"第一位评委给分:"<<endl;
cin>>a;
cout<<"第二位评委给分:"<<endl;
cin>>b;
cout<<"第三位评委给分:"<<endl;
cin>>c;
cout<<"第四位评委给分:"<<endl;
cin>>d;
cout<<"第五位评委给分:"<<endl;
cin>>e;
cout<<"第六位评委给分:"<<endl;
cin>>f;
cout<<"第七位评委给分:"<<endl;
cin>>g;
cout<<"第八位评委给分:"<<endl;
cin>>h;
cout<<"第九位评委给分:"<<endl;
cin>>i;
cout<<"第十位评委给分:"<<endl;
cin>>j;
//求出十个数中的最大值赋给a
/*
1.先将十个数两两比较,求出前五的分数;
2.将前五的分数做比较求出前三的分数;
3.比较前三的分数求出最高分数。
*/
a=compare(a,j);
b=compare(b,i);
c=compare(c,h);
d=compare(d,g);
e=compare(e,f);
a=compare(a,e);
b=compare(b,c);
b=compare(b,c);
a=compare(a,b);
//求出十个数中的最小值赋给j
/*
1.先将十个数两两比较,求出后五的分数;
2.将后五的分数做比较求出后三的分数;
3.比较后三的分数求出最低分数。
*/
j=contrast(a,j);
i=contrast(b,i);
h=contrast(c,h);
g=contrast(d,g);
f=contrast(e,f);
j=contrast(f,j);
i=contrast(g,i);
i=contrast(h,i);
j=contrast(i,j);
//减去一个最高分和一个最低分后其他数值求平均数
k=(b+c+d+e+f+g+h+i)/8;
cout<<"减去一个最高分:"<<a<<"减去一个最低分:"<<j<<endl;
cout <<"当前选手的最后得分是:"<<k<<endl;
return 0;
}
double compare(double a, double b)
{
double t;
if(a<b)
{
t=b;
b=a;
a=t;
}
return a;
}
double contrast(double a, double b)
{
double t;
if(a<b)
{
t=a;
a=b;
b=t;
}
return b;
}
示例图片:
心得体会:虽然用了很长时间才做出来,尽管感觉应该还有更好的没有做出来,可还是很开心。加油。baby