歌星大奖赛,评分系统
/*在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。选手最后得分
为:去掉一个最高分和一个最低分后其余8个分数的平均值。
题目条件不变,但考虑同时对评委评分进行裁判,即在10个评委中找出最公平(即评分
最接返平均分)和最不公平(即与平均分的差距最大)的评委,程序应该怎样实现?
请编写一个程序实现。
算法分析与设计:
定义数组存放裁判的打分,遍历数组得到最高分与最低分,
去掉最高分与最低分得到选手的平均分。
设计了良好的的人机交互界面*/
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double grade[10]={0};
double random=0,max=0,min=0,avg=0,sum=0;
int i,index_max=0,index_min=0,index_min_dis=0,index_max_dis=0; //记录下标
double dis_max=0,dis_min=0; //记录与平均分相比得到的最大差距及最小差距
int index_max_dis_all[10]={0},index_min_dis_all[10]={0};
//记录与平均分相比得到最大差距及最小差距的分数对应的所有下标
//输入10位裁判的打分
for(i=0;i<=9;i++)
{
cout<<"请输入第"<<i+1<<"位裁判的打分:";
cin>>random;
while(random>100||random<0) //当输入的分数不在0~100之间时,重新输入
{
cout<<"对不起,您的输入有误,请重新输入!"<<endl;
cout<<"请输入第"<<i+1<<"位裁判的打分:";
cin>>random;
if(random<=100&&random>=0)
break;
}
grade[i]=random;
}
//遍历数组找到最高分与最低分
max=min=grade[0]; //对max,min赋值。应该设一个与数组元素相关的值;
//如使用定义时的值0,由于grade[i]>=0,min将不会改变。
index_max=index_min=0;
for(i=1;i<=9;i++)
{
if(max<grade[i])
{
max=grade[i];
index_max=i;
}
else
if(min>grade[i])
{
min=grade[i];
index_min=i;
}
}
//计算去掉最高分与最低分后的平均得分
for(i=0;i<=9;i++)
if(i!=index_max&&i!=index_min)
sum+=grade[i];
avg=sum/8;
//遍历数组计算出与平均分相差最大及最小的分数
dis_max=dis_min=fabs(grade[0]-avg); //对分数差距取绝对值,得到相对量
index_max_dis=index_min_dis=0;
for(i=1;i<=9;i++)
{
if(dis_max<fabs(grade[i]-avg))
{
dis_max=fabs(grade[i]-avg);
index_max_dis=i;
}
else
if(dis_min>fabs(grade[i]-avg))
{
dis_min=fabs(grade[i]-avg);
index_min_dis=i;
}
}
//遍历数组,找出与平均分相比得到最大差距及最小差距的分数对应的所有下标
int i_max=0,i_min=0;
for(i=0;i<=9;i++)
{
if(grade[i]==grade[index_max_dis])
{
index_max_dis_all[i_max]=i;
i_max++;
}
if(grade[i]==grade[index_min_dis])
{
index_min_dis_all[i_min]=i;
i_min++;
}
}
//输出结果
cout<<"最高分为:"<<grade[index_max]<<endl;
cout<<"最低分为:"<<grade[index_min]<<endl;
// cout<<"最公正的裁判为第"<<index_min_dis+1<<"位裁判"<<endl;
// cout<<"最不公正的裁判为第"<<index_max_dis+1<<"位裁判"<<endl;
i_max=0,i_min=0;
cout<<"最公正的裁判为:";
//数组index_min_dis_all[10],index_max_dis_all[10]初始化为0,为了满足下标为0的元素为
//距离最大或最小的情况,又因为每个数组中至少有一个元素,故用do...while...循环,至少
//输出每个数组中的第一个元素
do
{
cout<<index_min_dis_all[i_min]+1<<",";
i_min++;
}while(index_min_dis_all[i_min]!=0);
cout<<endl;
cout<<"最不公正的裁判为:";
do
{
cout<<index_max_dis_all[i_max]+1<<",";
i_max++;
}while(index_max_dis_all[i_max]!=0);
cout<<endl<<endl;
cout<<"选手最后得分为:"<<avg<<endl;
return 0;
}
歌星大奖赛,评分系统相关推荐
- c语言程序设计歌手大奖赛,C语言二维数组怎么做:设计青年歌手参加歌曲大奖赛计分系统: 共...,怎样用c语言程序设计? 青年歌手参加歌曲大奖赛,有10个评委...
导航:网站首页 > C语言二维数组怎么做:设计青年歌手参加歌曲大奖赛计分系统: 共...,怎样用c语言程序设计? 青年歌手参加歌曲大奖赛,有10个评委 C语言二维数组怎么做:设计青年歌手参加歌曲 ...
- c语言 在歌星大奖赛,C语言 歌星大奖赛为参赛的选手打分
歌星大奖赛为参赛的选手打分 C语言歌星大奖赛为参赛的选手打分 在歌星大奖赛中,有 10 个评委为参赛的选手打分,分数为 1~100 分.选手最后得分为:去掉 一个最高分和一个最低分后其余 8 个分数的 ...
- c语言10个选手10个评委,C语言歌星大奖赛为参赛的选手打分.doc
C语言歌星大奖赛为参赛的选手打分 C语言歌星大奖赛为参赛的选手打分 在歌星大奖赛中,有 10 个评委为参赛的选手打分,分数为 1~100 分.选手最后得分为:去掉 一个最高分和一个最低分后其余 8 个 ...
- C++实现歌星大奖赛
C++实现歌星大奖赛 一 .需求分析: (1)在歌星大奖赛中,每位歌手演唱完,有10个评委为参赛的选手打分,分数为1~100分.选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值.歌手的 ...
- python趣味编程:歌星大奖赛
题目:歌星大奖赛 内容:在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1到100分.选 手最后得分为去掉一个最高分和一个最低分后,其余8个分数的平均值. 问题分析和算法设计: 问题算法比较简单, ...
- Node项目之评分系统(一)- 基本介绍
最近半个月,一直在学习Node的Web开发,使用的Web的框架为express,模版引擎最后还是选用了ejs,相对于jade不需要学习新的语法规则,并且方便粘贴一些HTML代码片段,减轻了前端设计的好 ...
- apache评分表的意义_APACHE评分系统及评分表
<APACHE评分系统及评分表>由会员分享,可在线阅读,更多相关<APACHE评分系统及评分表(2页珍藏版)>请在人人文库网上搜索. 1.APACHE评分系统急性生理学及慢性健 ...
- angular 指令渲染_Angularjs渲染的 using 指令的星级评分系统示例
本文介绍Angularjs渲染的 using 指令的星级评分系统示例,分享给大家,具体如下: 我试图创建静态使用 angularjs/离子成效甚微的星级评分系统.但目前什么都不输出到屏幕上...... ...
- 业界 | 裁判太嚣张?平昌之后,奥运会评分系统将引入AI技术
平昌奥运会期间,在人类选手角逐较量的同时,八只机器人队伍也获得了参赛资格.2月12日,首届人形机器人滑雪锦标赛在威里山公园滑雪场开幕,这些装备传感器的8台机器人顺利完成比赛,给世界观众留下了深刻的印象 ...
- 评分系统 java_C自动评分系统
我无法按照规范完成作业 . 这是分配方案: 大学迫切需要一个自动测试评分系统 . 使用C,为大学写一个评分系统,并对至少五名学生的测试进行评分 . 要创建评分系统,请按照以下步骤操作:首先询问测试中的 ...
最新文章
- JAVA SE学习day_08:TCP通信、多线程(并联)
- struts2教程--实现文件上传下载
- 真正掌握vuex的使用方法(一)
- Linq常用List操作总结,ForEach、分页、交并集、去重、SelectMany等
- android app启动过程
- sqlplus(数据泵)导入导出dmp实践使用
- Using dispatch_async
- 【英语学习】【Daily English】U06 Shopping L04 I like everything aboutit but the price.
- JUnit4 中@AfterClass @BeforeClass @after @before的区别
- [C] strncpy 函数
- 10 行代码解决漏斗转换计算之性能优化
- 交互式编程神器jupyter notebook环境搭建【不需要虚拟环境就能实现python2版本和python3版本自由切换】
- 剑指offer、二叉搜索树的第K个结点(python)
- 结合原理与代码理解BiLSTM-CRF模型(pytorch)
- swiper网格布局
- React Native 实践之携程 Moles 框架
- Google退出Android有影响吗?
- Flink on Yarn的两种模式及HA
- 【玩转ESP32】17、PWM调光
- 将物流行业送往智能时代,菜鸟网络的配送车已经上路了
热门文章
- 磊科nw336 linux驱动下载,磊科Netcore NW336驱动
- 安兔兔android手机性能排行榜,安兔兔2018年12月Android手机性能排行榜
- JS方法篇:vue.js判断滚动条触底
- 小程序开发之组件的使用
- TOEIC考试时间分配详解
- 洛谷P1244青蛙过河题解
- Excel 金额大写
- win7 64位下如何安装配置mysql-5.7.17-winx64
- 曝光一个骗子,大家小心一点,骗子QQ是493169239和707661812,842086828
- 香港科技大学计算机博导陈,香港科技大学计算机科学及工程系丁存生教授访问我校...