-->
当前位置:首页 > 题库 > 正文内容

函数题:对选手得分进行排序

Luz4年前 (2021-11-27)题库1042
某比赛的参赛人数为n人,**3<=n<=10**。有5个评委对评委打分,分数为整数,5位评委的平均分为该选手的得分。

用一个二维数组存储选手的得分,每一行的5个数据,代表5个评委对该选手的评分。

从键盘输入一个整数n,之后输入n行5列的整数存储到二维数组。计算每个选手的得分,存储到dScore数组中。将该数组的元素,按照**从大到小**排列,最后输出分数。

**编写计算和排序这两个函数。**

### 函数接口定义:
c++
//计算每个学生得分存储到 dScore数组
void calcData(int n) ;
//对dScore数组按照降序排列
void sortData(int n) ;

对calcData, n 为要操作的二维数组的行数。

对 sortData, n 为一维数组元素的个数。

### 裁判测试程序样例:
c++

#include <stdio.h>

int a[10][5]; //最多有10个参赛选手 ,有5个评委打分
double dScore[10] ; //选手的得分,是评委5个分数求平均分

void calcData(int n) ; //计算每个学生得分存储到 dScore数组
void sortData(int n) ; //对dScore数组按降序(从到小)排列

int main()
{
int n; //用户输入的n,一定是位于3到10(含边界)
int i,j;
scanf("%d" ,&n); //n代表有多少个参赛选手
for(i=0; i<n; i++)
for(j=0; j<5; j++)
scanf("%d" ,&a[i][j]);

//调用函数
calcData(n) ;
sortData(n) ;

//打印选手的得分
for(i=0; i<n; i++)
printf("%.1f\n" ,dScore[i]); //1位小数,每个数据占一行
}
/* 请在这里填写答案 */


### 输入样例:

总共有3个选手,每一个选手有5个得分。

in
3
74 79 73 81 83
90 92 91 94 92
85 87 88 86 83


### 输出样例:

计算出上述3个选手的平均分,从大到小排序并输出。

out
91.8
85.8
78.0








答案:若无答案欢迎评论

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。