青岛大学2018秋《C语言程序设计》期末模拟练习-第II部分(50分钟)

这篇博客包含了两道C语言编程题目:歌唱比赛的评分系统,要求根据评委分数计算选手得分;学生成绩比较,需要根据学号、C语言和英语成绩判断学生间的优劣。每道题目提供了函数接口定义、测试样例和答案。
摘要由CSDN通过智能技术生成

函数题

6-1 歌唱比赛打分 (8分)

某歌唱比赛计分规则是:对于评委给出的分数,去掉一个最高分,去掉一个最低分,剩余分数求算术平均值并保留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

答案

double getScore(int *score, int total){
   
    int i,max,min;
    double  sum = 0;
    max = *score;
    min = *score;
    for(i = 0; i < total; i++){
   
        if(*(score + i) < min)
            min = *(score + i);
        if(*(score + i) > max)
            max = *(score + i);
        sum += *(score + i);
    }
    sum = sum - min -max;
    sum 
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值