ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

PTA 6-1 歌唱比赛打分(函数题)题解

2022-02-25 21:03:47  阅读:143  来源: 互联网

标签:函数 int 题解 样例 PTA score 测试程序 total 打分


某歌唱比赛计分规则是:对于评委给出的分数,去掉一个最高分,去掉一个最低分,剩余分数求算术平均值并保留2位小数,作为选手最终得分。
本题要求实现这样一个计分函数。
评委给出的分数存在数组中,分数均为0~100之间的整数,并且保证评委人数在3~20之间。

函数接口定义:

double getScore(int *score, int total);

其中scoretotal是传入的参数,score是评委打分数组的首地址,total是评委人数;
函数将选手的得分以double类型返回,注意:函数返回的分数只需保证小数点后至少2位精确数字即可,打印2位小数得分的操作由函数调用者进行。

裁判测试程序样例:

/* 此测试程序仅为示例,实际的测试程序可能不同,不要仅针对样例的输入和输出编写函数,而是要根据题意要求编写函数 */
#include <stdio.h>
double getScore(int *score, int total);
int main(){
    int score[5] = {92, 90, 99, 95, 98};   /* 仅为示例,实际的测试程序中,数组大小和元素数值都可能与样例不同 */
    printf("%.2f\n", getScore(score, 5) );  /* getScore( )函数只负责返回分值,由main函数中的代码负责按照2位小数打印输出 */
    return 0;
}
/* 你所编写的函数代码将被嵌在这里,注意:不要提交你编写的用于测试的main( )函数,否则无法通过编译 */

输入样例:

对于本题给出的裁判测试程序样例,没有输入。实际的裁判程序可能有输入。

输出样例:

对于本题给出的裁判测试程序样例,只有一行输出如下。实际的裁判程序可能有其他输出情况。
95.00

作者:周强 

代码长度限制:16 KB

时间限制:400 ms 

内存限制:64 MB

题目分析

 1.计算方法——总分(去掉最高分和最低分的总分)/保留分数的个数(total-2)

2.找出最高分和最低分——排序(这里可以采用简单的冒泡排序)——for循环嵌套

3.for循环对剩余的成绩求和,再除以个数得出最终结果。

double getScore(int *score, int total)
{
    int i,j,t;
    //对裁判评分进行升序排列——为后续去掉最高分和最低分做准备——此处为冒泡排序
    for(i=0;i<total;i++)
    {
        for(j=i;j<total-1;j++)
        {
            if(score[j]>score[j+1])//通过数组下标对内部元素访问比较方便
            {
                t=score[j];
                score[j]=score[j+1];
                score[j+1]=t;
            }
        }
    }
    double s=0,ans=0;
    for(i=1;i<total-1;i++)//对除最高分和最低分外的分数求和
        s+=score[i];
    ans=s/(total-2);//计算平均分
    return ans;
}

标签:函数,int,题解,样例,PTA,score,测试程序,total,打分
来源: https://blog.csdn.net/moteandsunlight/article/details/123140569

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有