函数题:对选手得分进行排序
某比赛的参赛人数为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
答案:若无答案欢迎评论
用一个二维数组存储选手的得分,每一行的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
答案:若无答案欢迎评论