C++实现歌星大奖赛

一 、需求分析:
(1)在歌星大奖赛中,每位歌手演唱完,有10个评委为参赛的选手打分,分数为1~100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。歌手的人数在大奖赛开始时确定。
(2)同时对评委评分进行裁判,即在10个评委中找出最公平(即评分最接近平均分)和最不公平(即与平均分的差距最大)的评委。
(3)建立数据文件,保存各位歌星比赛时的所有评委分数,包括最高分,最低分和最后得分,并对比赛结果进行排序输出;
(4)界面友好,演示程序以用户和计算机的对话方式进行,可反复操作。

#include <iostream>
#include <math.h>
#include <stdio.h>
using namespace std;//设立冒泡排序函数void changenumber(int a[],int n){int temp = 0;                                //设置中间变量for (int i = n-1; i > 0; --i)        //从后往前判断{for (int j = 0; j < i; ++j)               //判断i以前两个数值的大小,最终把这次循环最大的数放到i的位置上去{if (a[j + 1] < a[j]){temp = a[j];a[j] = a[j + 1];a[j + 1] = temp;}}}}int main()
{int     Singer=0;cout<<"参加比赛的歌手人数为 :";cin>>Singer;int     iReferee[Singer][10];//存取每个选手的评委分数int     sScore[Singer][3];//存取每个选手的最高分最低分以及最终得分int     arr[Singer];//保存每个选手的最终得分int     n=Singer;const int iNumber =  10;cout<<"---------------比赛开始---------------"<<endl;int j=0;while(n--){int       iScore   = 0;int       iMaxScore= 0;int       iMinScore= 100;int     iAverage = 0;cout<<"歌手"<<j+1<<"演唱结束,开始评分:"<<endl;for (int i=0; i<iNumber; i) {cout<<"裁判 "<<i+1<<" 给出分数 : ";cin>>iScore;if (iScore<=100&&iScore>=0){iReferee[j][i] = iScore;iAverage += iScore;if (iScore > iMaxScore)iMaxScore = iScore;if (iScore < iMinScore)iMinScore = iScore;i++;}else{cout<<"评分有误,请输入1~100之间的评分:"<<endl;continue;}}cout<<"删除最高分 : "<<iMaxScore<<endl;cout<<"删除最低分 : "<<iMinScore<<endl;iAverage = (iAverage - iMaxScore - iMinScore)/(iNumber - 2);cout<<"        最终得分 : "<<iAverage<<endl;//-------------------------------------------------// 在十个评委中找出最公平即评分最接近平均分和最不// 公平即与平均分的差距最大的评委.cout<<"---------------筛选评委---------------"<<endl;// 最不公平的int      iUnfair =  0; //获取最不公平评委的评分与平均分的差cout<<"最不公平的评委 : "<<endl;if( fabs(iMaxScore - iAverage) >=fabs(iMinScore - iAverage)){iUnfair   =  fabs(iMaxScore - iAverage);}else if (fabs(iMaxScore - iAverage) < fabs(iMinScore - iAverage)){iUnfair    =  fabs(iMinScore - iAverage);}for (int i=0; i<iNumber; ++i) {if (fabs(iReferee[j][i]-iAverage) == iUnfair)cout<<"评委 "<<i+1<<" : "<<iReferee[j][i]<<endl;}//-------------------------------------------------// 最公平的int iFair=100;//获取最公平的评委的评分与平均分的差cout<<"最公平的评委 : "<<endl;for(int i=0;i<iNumber;++i){if(fabs(iReferee[j][i]-iAverage) < iFair) iFair=fabs(iReferee[j][i]-iAverage);}for (int i=0; i<iNumber; ++i) {if (fabs(iReferee[j][i]-iAverage) == iFair)cout<<"评委 "<<i+1<<" : "<<iReferee[j][i]<<endl;}sScore[j][0]=iMaxScore;sScore[j][1]=iMinScore;sScore[j][2]=iAverage;arr[j]=iAverage;j++;cout<<"---------------评分结束---------------"<<endl;}cout<<"---------------比赛结束---------------"<<endl;cout<<"-------------得分排名如下-------------"<<endl;changenumber(arr,Singer);for(int n=Singer-1;n>=0;n--){for(int i=0;i<Singer;i++){if(sScore[i][2]==arr[n]) cout<<"歌手 "<<i+1<<" 得分 "<<arr[n]<<endl;}}return 0;
}

有什么问题以及改进方法可以在下面留言哦~

C++实现歌星大奖赛相关推荐

  1. python趣味编程:歌星大奖赛

    题目:歌星大奖赛 内容:在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1到100分.选 手最后得分为去掉一个最高分和一个最低分后,其余8个分数的平均值. 问题分析和算法设计: 问题算法比较简单, ...

  2. c语言 在歌星大奖赛,C语言 歌星大奖赛为参赛的选手打分

    歌星大奖赛为参赛的选手打分 C语言歌星大奖赛为参赛的选手打分 在歌星大奖赛中,有 10 个评委为参赛的选手打分,分数为 1~100 分.选手最后得分为:去掉 一个最高分和一个最低分后其余 8 个分数的 ...

  3. c语言10个选手10个评委,C语言歌星大奖赛为参赛的选手打分.doc

    C语言歌星大奖赛为参赛的选手打分 C语言歌星大奖赛为参赛的选手打分 在歌星大奖赛中,有 10 个评委为参赛的选手打分,分数为 1~100 分.选手最后得分为:去掉 一个最高分和一个最低分后其余 8 个 ...

  4. python歌星大奖赛_在歌星大奖赛中,有10个评委为参赛选手打分,分数为1到100分。...

    /********************************************************************************* * * 功能描述:    求一个比 ...

  5. 歌星大奖赛C语言程序,C_歌星大奖赛

    在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分.选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值.请编写一个程序实现. *问题分析与算法设计 这个问题的算法十分简单, ...

  6. 歌星大奖赛,评分系统

    /*在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分.选手最后得分 为:去掉一个最高分和一个最低分后其余8个分数的平均值. 题目条件不变,但考虑同时对评委评分进行裁判,即在10个评委中 ...

  7. C语言趣味程序百例精解

    1.绘制余弦曲线 在屏幕上用"*"显示0~360度的余弦函数cos(x)曲线 *问题分析与算法设计 如果在程序中使用数组,这个问题十分简单.但若规定不能使用数组,问题就变得不容易了 ...

  8. python算法详解 张玲玲_Python算法详解

    目 录 第 1章 算法概述 1 1.1 算法的基础 2 1.1.1 算法的特征 2 1.1.2 何为算法 2 1.2 计算机中的算法 3 1.2.1 认识计算机中的算法 3 1.2.2 为什么说算法是 ...

  9. 100个经典C语言程序(益智类)

    100个经典C语言程序(益智类) [1.绘制余弦曲线] 在屏幕上用"*"显示0~360度的余弦函数cos(x)曲线 [问题分析与算法设计] 利用cos(x)的左右对称性,将屏幕的行 ...

最新文章

  1. 编程语言python特点-Python语言的特点有哪些?九大特点介绍!
  2. 【opencv】丁达尔效应
  3. MySQL数据库的总结_MySQL数据库应用总结(三)—MySQL数据库的基本操作
  4. win10下gnuplot的安装
  5. 组合模式_[设计模式]10.组合模式
  6. 看你知道不知道之-制作数据字典
  7. Kali-linux安装之后的简单设置
  8. java 内存溢出 内存泄露_JVM——内存泄漏与内存溢出
  9. 嵌入式C中,全局变量滥用的后果竟如此严重?
  10. Source Insight常用的快捷键
  11. 电脑上mysql数据库无法登录_无法远程登入MySQL数据库的几种解决办法MySQL综合 -电脑资料...
  12. 322. 零钱兑换(JavaScript)
  13. 流程平台:示例流程 - 主机申请审批流程
  14. 为什要学习烹饪?学习烹饪迫在眉睫
  15. sqlserver 查找某个字符在字符串中第N次出现的位置
  16. 运放的噪声分析--你好放大器
  17. Yate for Mac音乐标签管理工具
  18. 使用积分图像进行自适应二值化[Derek Bradley, Gerhard Roth, 2007]
  19. SQL Sever——远程过程调用失败(0x800706be)
  20. 手淘推出“店铺二楼”

热门文章

  1. chatGPT plus,OpenAI API开通
  2. C标准、C标准库、C++标准、C++标准库
  3. AUTOjs3.0文档之悬浮窗
  4. windows所有版本列表_用Windows电脑训练深度学习模型?超详细配置教程来了
  5. 【NOWCODER】- Python:条件语句
  6. 18650电池模块3.7V7.4V锂电池模块 11.1V锂电池模块充电宝UPS电源
  7. android ui组件开发教程,安卓开发入门教程-UI控件_Switch
  8. 高数——常数变易法的补充
  9. virtualbox 虚拟机挂载USB设备
  10. 透过大数据了解化妆品-BB霜行业概况