问题描述:
在歌手大奖赛中,有10个评委为参赛选手打分,分数为0~10分。选手最后得分为:去掉一个最高分和一个最低分后,取其余8个分数的平均值。请编一个程序实现这个程序。
代码:
/*
*copyright (c) 2014,烟台大学计算机学院
*all rights reserved.
*文 件 名 : 大奖赛记分.cpp
*作 者 :张 鹏
*完成日期 :2014年10月31号
*版 本 号 :v1.2
*
*问题描述 :在歌手大奖赛给选手打分去掉一个最高分和一个最低分求出平均分。
*输入描述 :若干数字,代表选手成绩。
*程序输出 :选手得分情况。
*/
#include <iostream> //预处理指令。
#include <cstdio>
using namespace std; //使用C++的命名空间 std。
int main() //函数首部。
{
cout<<"请输入选手成绩(0-10)"<<'\n'; //输出汉字使得界面更美好。
double a,i,b,sum=0,average,max,min=55;//定义7个变量为实型。
for (i=1; i<=10; ++i) //for语句执行辅助输出10个得分。
{
cout<<"第"<<i;
cout<<"位评委给分:"; //输出汉字使得界面友好。
cin>>a;
b=a;
sum+=a;
if (b>=max)
max=b;
if(b<=min)
min=b; //求出最值。
}
cout<<"减去一个最高分:"<<max;
cout<<" 减去一个最低分:"<<min<<'\n';
cout<<"当前选手最后得分是:";
cout<<(average=(sum-max-min)/8);
return 0; //执行返回语句,结束程序。
}
运行结果:
知识点与学习心得:
其中如何输出最大值和最小值为本题难点,本想构造函数。但实在没头绪,于是就在循环中求最值了。