第12周报告2-2(编写大奖赛用的计分程序)

实验目的:学会使用循环控制语句解决实际问题
实验内容:编写大奖赛用的计分程序

* 程序头部注释开始(为避免提交博文中遇到的问题,将用于表明注释的斜杠删除了)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:编写大奖赛用的计分程序                             
* 作    者:薛广晨                             
* 完成日期:2011         年  11     月   09     日
* 版 本 号: x1.0        

* 对任务及求解方法的描述部分
* 输入描述:选手的原始成绩
* 问题描述:各评委打出的成绩介于0-10之间,计分规则为去掉一个最高分和一个最低分后取平均。其他要求:输出错误要能马上重新输入;评委人数在程序中的修改要尽可能方便;计算完一位选手的成绩后可以连续地计算下一位选手的成绩。
* 程序输出:各位选手的最高分、最低分及最终成绩
* 问题分析:……
* 算法设计:……
* 程序头部的注释结束(此处也删除了斜杠)
#include <iostream>
using namespace std;
double max(double x,double y);
 double min(double x,double y);
int main( )
{
 int i=1,n;
 double s=0,a,b,j,m;
 char c;
 do
 {
 cout<<"请输入评委的人数:";
 cin>>n;
 cout<<"请输入选手的成绩(0—10)"<<endl;
 while(i<=n)
 {
       
  cout<<"第"<<i<<"位评委的给分:";
  cin>>m;
  cout<<endl;
  if(m<0||m>10)
  {
             cout<<"第"<<i<<"位评委的给分:";
             cin>>m;
          if(m>0||m<10) continue;
   
             cout<<endl;
            
  }
        s=s+m;
        if(i==1)
  {
          a=m;
         b=m;
  }
        a=max(a,m);
        b=min(b,m);
  i++;
       
 }
 
 s=s-(a+b);
 j=s/(n-2);
    cout<<"减去一个最高分:"<<a<<","<<"减去一个最低分:"<<b<<endl;
 cout<<"当前选手的最后得分:"<<j<<endl;
    cout<<"***********SUCCESS************"<<endl;
    cout<<"按N退出,其他键继续......Y"<<endl;
 getchar();
    c=getchar();
    if(c=='n'||c=='N')
  break;
 }while(1);
 return 0;
}

    double max(double x,double y)
 {
  return(x>y? x:y);
 }
 double min(double x,double y)
 {
        return(x<y? x:y);
 }



运行结果:

(贴图)

经验积累:
1.自顶向下,逐级求精。


上机感言:爽,付出就有收获。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值