题目描述
某大奖赛有n(1<n<40)个选手参赛,m(2<m<20)个评委为依次参赛的选手评判打分:最高10分,最低0分。统分规则为:每个选手所得的m个得分中,去掉一个最高分,去掉一个最低分,最后平均为该选手的最后得分。根据n个选手的最后得分从高到低排出名次表,以便确定获奖名单。
输入
输入选手的数目n(1<n<40),评委的数目m(2<m<20),以及评委对每位选手的打分。
输出
选手的排名及最终的得分值(小数点后保留两位)。
样例输入
3,5
5.6 7.8 9.4 5.8 8.8
7.8 6.7 8.3 6.9 5.5
6.7 9.2 8.8 8.3 9.0
样例输出
第1名:3号选手,得分8.70
第2名:1号选手,得分7.47
第3名:2号选手,得分7.13提示
1.在输入样例中,第一行的"3,5”表示3个选手,5个评委。
2.在输入样例中,第二行为5个评委对第1位选手的分别打分;第三行为5个评委对第2位选手的分别打分;第四行为5个评委对第3位选手的分别打分.
3.在输出样例中出现的标点符号均在英文状态下输入的。 */

#include <stdio.h>
void swap(float *, float *);
float average(int m, float judge[]);
void bubble_sort(int n, float competitor[]);int main() {int n, m;int max ;float judge[20];float competitor[40];float copycompetior[40];int numberOfcompetitor[40];//储存选手编号scanf("%d%d", &n, &m);//届时注意输入分隔符,for (int i = 0; i < n; i++) {competitor[i] = average(m, judge);// printf("%d\n",competitor[// printf(“%d \ n”,competitor [i]);i]);}for (int i = 0; i < n; i++) {copycompetior[i] = competitor[i];}for (int i = 0; i < n ; i++) {//找到该趟次中最大元素所在位置索引.max = 0;for (int j = 1; j < n ; j++) {if (copycompetior[max] < copycompetior[j])max = j ;//再打各补丁?}numberOfcompetitor[i] = max;//记录位置copycompetior[max] = 0;//使之不会影响下一个排名的选手的查找.}bubble_sort(n, competitor);for (int i = 0; i < n; i++){printf("第%d名: %d 号选手 得分%.2f分\n", i+1, numberOfcompetitor[i]+1, competitor[i]);//printf("%f(修改时若忽视将导致输出异常")}return 0;//主函数.
}
//
void swap(float *a, float *b) {float temp;temp = *a;*a = *b;*b = temp;return;//修改旧变量(这一操作),二不带回其他值.}
float average(int m, float judge[]) {float min, max, temp, sum = 0;scanf("%f", &judge[0]);//(也可以整合到for里面去),则min = max =judge[0]//初始化为0min = max = judge[0];//这是就要及时地为sum赋上第一个值(judge[0]),否则第一个值将丢失.sum = judge[0];for (int i = 1; i < m; i++) {//不对数组进行任何排序性修改,只是记录最值,并保存(迭代更换)到指定的变量里scanf("%f", &judge[i]);//函数内部的变量类型也要在修改函数是注意sum += judge[i];if (min > judge[i]) {        //也可以使用swap()temp = judge[i];judge[i] = min;min = temp;}else if (max < judge[i]) {temp = judge[i];judge[i] = max;max = temp;}}sum = sum - min - max;return sum / (m - 2.0);
}
//循环:loop
void bubble_sort(int n, float competitor[]) {int max;//事实上,选择排序法更适合于本题for (int i = 0; i < n - 1; i++) {//i = 0的版本.//j作箭头指着.(从最后一个索引(n-1))for (int j = n - 1; j > i; j--) {// j:  0,1,...,    i,...n-2,   n-1.(也可写作j<= n-2),该轮进行了n-2 - i + 1 = n-1-i次比较.max = n;//?//每一趟地最后一个元素由判断语句中的competitor[j+1]引入比较.if (competitor[j] > competitor[j - 1]) {swap(&competitor[j], &competitor[j - 1]);}}//该趟(对应行的排序结束)}return;
}

某大奖赛有n个选手参赛,m个评委为依次参赛的选手评判打分相关推荐

  1. 大奖赛现场统计:某大奖赛有n个选手参赛,m个评委为依次参赛的选手评判打分

    作者说:" 以下代码为初入C语言的笔记与作业,谨以此记录我的C学习生涯,重要之处皆有注释,若有疑问大可评论区留言." 题目描述 某大奖赛有n(1<n<40)个选手参赛, ...

  2. 第八届cccc团体程序设计天梯赛——个人参赛总结——无代码纯粹的参赛总结

    第八届cccc团体程序设计天梯赛--个人参赛总结--无代码纯粹的参赛总结 目录 第八届cccc团体程序设计天梯赛--个人参赛总结--无代码纯粹的参赛总结 引言~介绍一下cccc天梯赛(==选读==) ...

  3. python比赛评分计算_python3:(可输入评委人数和参赛人数)模拟决赛现场最终成绩计算过程...

    **python任务一: 首先输入大于3的整数作为评委人数,输入每个选手的姓名,然后依次输入每个评委的打分,要求每个分数都介于0~100,任务一:输入完所有的评委打分后,去掉一个最高分,去掉一个最低分 ...

  4. 歌咏比赛,有10个评委,有5个选手,求出每一个选手的平均得分(去掉一个最高分和一个最低分)。 要求:利用数组、有参有返回的函数

    歌咏比赛,有10个评委,有5个选手,求出每一个选手的平均得分(去掉一个最高分和一个最低分). 要求:利用数组.有参有返回的函数 judge = []player = []avg = 0sum = 0m ...

  5. 编程:5 位评委对参赛选手进行打分,将所有的打分结果存储在对应类型的数组中,将所有评分结果 去除一个最低分,去除一个最高分,然后获取剩余 3 位评委的平均分数为选手的最终得分。设计程序, 用键盘输入

    import java.util.Scanner; public class Test{     public static void main(String[] args) {         in ...

  6. Java在歌唱比赛中,共有10位评委进行打分,在计算歌手得分时,去掉一个最高分,去掉一个最低分, 然后剩余的8位评委的分数进行平均,就是该选手的最终得分.输入每个评委的评分,求某选手的得分

    代码如下: package demo;import java.util.Scanner;public class Test6 {public static void main(String[] arg ...

  7. 计算机学院科技节活动背景,计算机技术系第五届电脑科技节策划书.doc

    计算机技术系第五届电脑科技节策划书 计算机技术系第五届电脑科技节 活 动 策 划 书 主办单位:常州工程职业技术学院 承办单位:计算机技术系 计算机技术系第五届电脑科技节策划方案 一.活动背景 在当今 ...

  8. 《数据科学R语言实践:面向计算推理与问题求解的案例研究法》一一2.5 为跨年度的个人参赛选手构造记录...

    本节书摘来自华章计算机<数据科学R语言实践:面向计算推理与问题求解的案例研究法>一书中的第2章,第2.5节,作者:[美] 德博拉·诺兰(Deborah Nolan) 邓肯·坦普·朗(Dun ...

  9. 5位评委对参赛选手进行打分,将所有的打分结果存储到对应类型的数组中, 将所有的评分结果去除一个最低分,去除一个最高分,然后获取的平均分数为 选手的最终得分.设计程序,用键盘输入5位评委的评分,并打印输

    5位评委对参赛选手进行打分,将所有的打分结果存储到对应类型的数组中, 将所有的评分结果去除一个最低分,去除一个最高分,然后获取的平均分数为 选手的最终得分.设计程序,用键盘输入5位评委的评分,并打印输 ...

最新文章

  1. java.io.NotSerializableException:异常
  2. Linux 下文件打包和压缩
  3. UPS故障案例集(二)
  4. Python__数据结构与算法——图
  5. linux设置NO_PROXY绕过代理
  6. guava和commons_使用Guava CharMatcher和Apache Commons Lang StringUtils确定字符串中字符或整数的存在...
  7. 如何让学习变得像游戏一样好玩
  8. 【gRPC基础知识】快速部署
  9. 利用BI进行报表分析(二)--SSAS多维数据集以及维度的建立
  10. 韦诺之战wesnoth没有声音
  11. 编译opencv错误解决:libavcodec.a(hevc_cabac.o): `ff_h264_cabac_tables' can not be used
  12. java工作流框架jbpm_Jbpm工作流与ssh框架集成
  13. windows2012 下载启动ssh
  14. c语言程序设计mooc作业平台答案,C语言程序设计下mooc答案.docx
  15. 鼠标双击DataGridView单元格变成ComboBox
  16. 科比服务器型号,Ubuntu是NBA全明星科比
  17. 学习python的摸鱼日常
  18. igraph与netwrokx的转换
  19. Velodyne 16线激光雷达-多雷达版本
  20. 手机病毒肆虐:恶意软件每天获取超3000美元收益

热门文章

  1. linux安装lvm软件包,linux中LVM
  2. 【Python】爬虫初体验,40行代码爬取双色球2003年至今的开奖号码
  3. 十二星座2009年度运势预测
  4. 微信小程序去除button边框
  5. yum 报错: If above article doesn‘t help to resolve this issue please use https://bugs.centos.org/.
  6. DDraw7 overlay 使用心得
  7. Matlab/Simulink 自动代码生成详细步骤
  8. Apress.LEGO.Mindstorms.NXT.The.Mayan.Adventure.Dec.2006
  9. matlab实现MFCC
  10. python计算颜色占比_计算图像中不同颜色的面积比