问题及代码:
/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:陈旭
* 完成日期:2014年 11 月 4 日
* 版 本 号:v1.0
*
* 问题描述: 多位评委为参赛选手打分,求去掉一个最高分合一个最低分后,剩余分数的平均值
* 输入描述: 多个整数分数
* 程序输出: 对应选手的最后得分
*/
#include <iostream>
using namespace std;
int main( )
{
int n;
int i;
double ave, score, sum, max, min;
i=1;
max=-1;
min=11;
sum=0;
cout<<"请输入评委人数:";
cin>>n;
cout<<"请输入选手的成绩(0-10)"<<endl;
do
{
cout<<"第"<<i<<"位评委给分:";
cin>>score;
if(score<0||score>10)
continue;
sum+=score;
if(max<score)
max=score;
if(min>score)
min=score;
i++;
}
while(i<=n);
ave = (sum-max-min)/(n-2);
cout<<"减去一个最高分:"<<max;
cout<<", 减去一个最低分:"<<min<<"。"<<endl;
cout<<"当前选手的最后得分是:"<<ave<<endl;
return 0;
}
运行结果:
知识点总结:
通过这个程序的运行让我们了解continue的神奇的作用,简单的一改就更方便的帮我们处理了可能很难的问题。
学习心得:
其实这个程序本来自己都编的差不多,可是就是差那么点就是不对,怎么弄都不行,最后没有办法参照贺老师的,至今没想通自己哪里错了。