第12周报告2-2

 

第12周报告2-2:

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

 

/*
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称: 评委打分
* 作 者: 姜雅明
* 完成日期: 2011 年 11 月 09 日
* 版本号: 1.0

* 对任务及求解方法的描述部分
* 输入描述:选手的原始成绩
* 问题描述:各评委打出的成绩介于0-10之间,计分规则为去掉一个最高分和一个最低分后取平均。其他要求:输出错误要能马上重新输入;评委人数在程序中的修改要尽可能方便;计算完一位选手的成绩后可以连续地计算下一位选手的成绩。
* 程序输出:各位选手的最高分、最低分及最终成绩
* 问题分析:……
* 算法设计:……
* /


 

#include <iostream>

using namespace std;

double max (double x, double y);

double min (double x, double y);

int main( )
{
	char ch;
	do
	{
		
		s = 0;
		cout << "请输入选手成绩:" << endl;
		
		int n;
		
		double a,b,d=10,e=0,s=0;
		
		for (n = 1; n <= 7; n++)
		{
			cout << "第" << n << "位评委给分:";
			
			cin >> a;
			
			if (a > 10)
				
				n--;
			
			if (a < 10)
			{
				s = s + a;
				
				b = max (b , a);
				
				d = min (d , a);
			}
		}
		e = (s - b - d) / 5;
		
		cout << endl;
		
		cout << "去掉一个最高分:" << b << endl;
		
		cout << "去掉一个最低分:" << d << endl;
		
		cout << "这位选手的最后得分是:" << e <<endl;
		
		cout << "******************************************" << endl;
		
		cout << "按N退出,其它键继续....";
		
		getchar();
		
		ch=getchar();
		
		if(ch=='n'||ch=='N')
			
			break;
		
		cout << endl;
		
	}while(1);
	
	return 0;
}

double max (double x, double y)
{
	double z;
	
	z = (x > y) ? x : y;
	
	return z;
}

double min (double x, double y)
{
	double z;
	
	z = (x < y) ? x : y;
	
	return z;
}


 

运行结果:



经验积累:
1.getchar的使用
2.break一定要在循环中才能用
3.注意if的{}问题

上机感言:

不容易啊,本以为还好,但是实际操作是才发现,并不是想象中那样简单.....

实践是检验真理的唯一标准.....

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值