C++实现歌星大奖赛
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++实现歌星大奖赛相关推荐
- python趣味编程:歌星大奖赛
题目:歌星大奖赛 内容:在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1到100分.选 手最后得分为去掉一个最高分和一个最低分后,其余8个分数的平均值. 问题分析和算法设计: 问题算法比较简单, ...
- c语言 在歌星大奖赛,C语言 歌星大奖赛为参赛的选手打分
歌星大奖赛为参赛的选手打分 C语言歌星大奖赛为参赛的选手打分 在歌星大奖赛中,有 10 个评委为参赛的选手打分,分数为 1~100 分.选手最后得分为:去掉 一个最高分和一个最低分后其余 8 个分数的 ...
- c语言10个选手10个评委,C语言歌星大奖赛为参赛的选手打分.doc
C语言歌星大奖赛为参赛的选手打分 C语言歌星大奖赛为参赛的选手打分 在歌星大奖赛中,有 10 个评委为参赛的选手打分,分数为 1~100 分.选手最后得分为:去掉 一个最高分和一个最低分后其余 8 个 ...
- python歌星大奖赛_在歌星大奖赛中,有10个评委为参赛选手打分,分数为1到100分。...
/********************************************************************************* * * 功能描述: 求一个比 ...
- 歌星大奖赛C语言程序,C_歌星大奖赛
在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分.选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值.请编写一个程序实现. *问题分析与算法设计 这个问题的算法十分简单, ...
- 歌星大奖赛,评分系统
/*在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分.选手最后得分 为:去掉一个最高分和一个最低分后其余8个分数的平均值. 题目条件不变,但考虑同时对评委评分进行裁判,即在10个评委中 ...
- C语言趣味程序百例精解
1.绘制余弦曲线 在屏幕上用"*"显示0~360度的余弦函数cos(x)曲线 *问题分析与算法设计 如果在程序中使用数组,这个问题十分简单.但若规定不能使用数组,问题就变得不容易了 ...
- 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 为什么说算法是 ...
- 100个经典C语言程序(益智类)
100个经典C语言程序(益智类) [1.绘制余弦曲线] 在屏幕上用"*"显示0~360度的余弦函数cos(x)曲线 [问题分析与算法设计] 利用cos(x)的左右对称性,将屏幕的行 ...
最新文章
- 编程语言python特点-Python语言的特点有哪些?九大特点介绍!
- 【opencv】丁达尔效应
- MySQL数据库的总结_MySQL数据库应用总结(三)—MySQL数据库的基本操作
- win10下gnuplot的安装
- 组合模式_[设计模式]10.组合模式
- 看你知道不知道之-制作数据字典
- Kali-linux安装之后的简单设置
- java 内存溢出 内存泄露_JVM——内存泄漏与内存溢出
- 嵌入式C中,全局变量滥用的后果竟如此严重?
- Source Insight常用的快捷键
- 电脑上mysql数据库无法登录_无法远程登入MySQL数据库的几种解决办法MySQL综合 -电脑资料...
- 322. 零钱兑换(JavaScript)
- 流程平台:示例流程 - 主机申请审批流程
- 为什要学习烹饪?学习烹饪迫在眉睫
- sqlserver 查找某个字符在字符串中第N次出现的位置
- 运放的噪声分析--你好放大器
- Yate for Mac音乐标签管理工具
- 使用积分图像进行自适应二值化[Derek Bradley, Gerhard Roth, 2007]
- SQL Sever——远程过程调用失败(0x800706be)
- 手淘推出“店铺二楼”
热门文章
- chatGPT plus,OpenAI API开通
- C标准、C标准库、C++标准、C++标准库
- AUTOjs3.0文档之悬浮窗
- windows所有版本列表_用Windows电脑训练深度学习模型?超详细配置教程来了
- 【NOWCODER】- Python:条件语句
- 18650电池模块3.7V7.4V锂电池模块 11.1V锂电池模块充电宝UPS电源
- android ui组件开发教程,安卓开发入门教程-UI控件_Switch
- 高数——常数变易法的补充
- virtualbox 虚拟机挂载USB设备
- 透过大数据了解化妆品-BB霜行业概况