/* 烟台大学计算机学院 作者:任子仪 日期: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