问题及代码:
/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:Project4.cpp
* 作 者:宋健
* 完成日期:2014年11月4日
* 版 本 号:v1.0
*
* 问题描述:在歌手大赛中,有10个评委为参赛的选手打分,分数为0~10分。选手最后得分为:去掉一个最高分和一个最低分后,去其余8个分数的平均值
* 输入描述: 输入十个评委分别得评分
* 程序输出:一个最高分,一个最低分,最终得分
*/
#include <iostream>
#include<cmath>
using namespace std;
double max(double,double);
double min(double,double);
int main()
{
double sum,ave,score,m1,m2;
int count=0;
int n;
m1=-1;
m2=11;
sum=0;
cout<<"请输入选手的成绩(0-10):"<<endl;
for(n=1; n<=10; )
{
cin>>score;
if(score<0||score>10)
continue;
else
{
m1=max(m1,score);
m2=min(m2,score);
sum=sum+score;
++count;
cout<<"第"<<count<<"位评委给分:"<<score<<endl;
}
++n;
}
ave=(sum-m1-m2)/8;
cout<<"减去一个最高分:"<<m1<<",减去一个最低分:"<<m2;
cout<<"当前选手的最后得分是:"<<ave;
}
double max(double x,double y)
{
return (x>y)?x:y;
}
double min(double i,double j)
{
return (i<j)?i:j;
}
运行结果:
知识点总结:
函数赋初值的时候需要注意些,另外continue的位置也需要注意,计数的时候判断++n的位置应该放在循环后面还是for后面
学习心得:
第一次尝试运用自己定义的函数,虽然花的时间有点长,但是我感觉值,在不断练习中我会加快速度的。另外这次编程前一点思路都没有,但是在本子上一步一步用伪代码就能够很条理很清晰的设计完整个函数,再根据伪代码敲代码简单多了,以后要养成这个好习惯!