C++ 歌手大奖赛计分系列

原创 2013年12月04日 20:19:02

/*
 *歌手大奖赛计分系列
 *(1)在歌手大奖赛中,有10个评委为参赛的选手打分,分数为0~10分(运行时由人控制)。
 *    选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。
 *(2)将计算选手成绩的功能(包括输入成绩、计算和显示结果)利用一个函数void calScore(int n)实现。
 *    为增大函数的适用面,有评委人数由函数的参数n决定(这样,在main函数调用时,需要将评委人数作为实参)。
 *(3)进一步完善(2)的程序。输入时,难免有录入错误发生,如果输入的成绩不在0-10之间,
 *   要求用户立即重新输入(在函数calScore中修改);
 *   一次运行程序只计算一位选手成绩太麻烦,要求输出当前选手的最后得分后,
 *   提示“按任意键计算下一位选手的成绩,退出请选择N:”如果输入的不是N或n,
 *   可以为下一位选手计算成绩(在main函数中进行控制即可)。
 */
void callScore(int n)
{
    cout<<"大赛有 "<<n<<"  位评委"<<endl;
    if(n<=0)
    {
        return;
    } 

    float *aScore = new float[n];
    int i=1; 

    while(i<=n)
    {
        cout<<"第 "<<i<<" 位评委的分数(0.00-10.00): "<<endl;
        cin>>aScore[i-1]; 

        // 出错处理,防止输入非数字字符。
        if (cin.fail()) 
        {
            cin.clear();
            cin.ignore();
            continue;
        }
        if(aScore[i-1] < 0 || aScore[i-1] > 10)
        {
            cout<<"输入的成绩不再0-10之间,重新输入!"<<endl;
            continue;
        }
        i++;
    } 

    //去掉一个最高分,去掉一个最低分
    float max = 0;
    float min = aScore[0];
    float sum = 0;
    float score = 0;
    for(int j=0;j<n;j++)
    {
        aScore[j] >= max?max=aScore[j]:max;
        aScore[j] >= min?min:min=aScore[j];
        sum+=aScore[j];
    } 

    //最后得分
    cout<<"去掉一个最高分: "<<max<<endl;
    cout<<"去掉一个最低分: "<<min<<endl; 

    score=(sum-max-min)*1.0/n;
    cout<<"选手最后得分: "<<score<<endl;
}
void main()
{
	char ch;
	while(true)
	{
		cout<<"按任意键计算选手的成绩,退出请选择N(n):";
		cin>>ch;
		if(ch=='N'||ch=='n')
		{
			break;
		}
		callScore(5);
	}
}



版权声明:本文为博主原创文章,未经博主允许不得转载。

课程设计 【项目二】歌手大赛计分程序

题目描述: (1)在歌手大奖赛中,有n位评委为参赛的选手打分,分数为0~10分(运行时由人输入)。选手最后得分为:去掉一个最高分和一个最低分后其余分数的平均值。请编写一个程序,完成相关的功能。 ...
  • qq_36134413
  • qq_36134413
  • 2017年01月05日 11:40
  • 399

C++第11周项目5——歌手大奖赛计分

课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759【项目5-歌手大奖赛计分系列】 参考运行图:    (1)在歌手大奖赛中,有...
  • sxhelijian
  • sxhelijian
  • 2013年11月08日 21:26
  • 3083

C语言OJ项目参考(2698) 大奖赛计分

(2698) 大奖赛计分 Description 在歌手大奖赛中,有9位评委为参赛的选手打分,分数为0~10分。选手最后得分为:去掉一个最高分和一个最低分后,取其余7个分数的平均值。请编写一个程序...
  • sxhelijian
  • sxhelijian
  • 2016年10月26日 20:38
  • 1415

小白学java——做一个歌手比赛系统(一)

歌手比赛系统 对一次歌手比赛的成绩进行管理,功能要求:1、输入每个选手的数据包括编号、姓名、十个评委的成绩,根据输入计算出总成绩和平均成绩(去掉最高分,去掉最低分)。2、显示主菜单如下:1)输入选手数...
  • qq_39980334
  • qq_39980334
  • 2017年12月24日 22:05
  • 105

歌手大奖赛计分系列

/*作者:曹昕卓 *完成日期:2013年 11月12 日 *版本号:v1.0 ...
  • u012370431
  • u012370431
  • 2013年11月12日 16:21
  • 806

歌手大奖赛计分系列

/* *Corpyright (c)2013,烟台大学计算机学院 *All right reseved. *作者:高古尊 *完成日期:2013年11月9日 *版本号:v1.0 *输入描述:...
  • u012332009
  • u012332009
  • 2013年11月09日 13:32
  • 764

C语言课程设计----歌手大奖赛计分系统

(一): /*************************************************************** 功能描述:在歌手大奖赛中,有n位评委为参赛的选手打分,分数为...
  • shancx
  • shancx
  • 2017年01月05日 09:58
  • 1290

歌手大奖赛计分系统

/* 烟台大学计算机学院 作者:任子仪 日期:2013年11月10日 问题描述: 样例输入: 样例输出: 问题分析: */ # include usi...
  • u012369162
  • u012369162
  • 2013年11月10日 13:33
  • 579

课程实践——第二个——歌手大赛评分系统

/* Copyright (c) 2016, 烟台大学计算机学院 All rights reserved. 文件名称:first.cpp 作 者:颜丙齐 完成日期:2017年 1 月 6 日 ...
  • tureful
  • tureful
  • 2017年01月06日 14:40
  • 580

C语言课程设计:歌手大奖赛计分程序

1. 题目描述 编写一个程序,用户输入评委人数和分数后,程序可以计算去掉一个最高分和最低分后的平均成绩。可多次输入选手成绩,输入N时退出程序。 2. 源代码 #include #inclu...
  • ak644928128
  • ak644928128
  • 2017年01月04日 16:32
  • 532
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++ 歌手大奖赛计分系列
举报原因:
原因补充:

(最多只允许输入30个字)