小明算分。

描述:

小明组织了一场写作比赛,共有 n� 名同学参加他组织的写作比赛。

小明邀请了 m� 名评委的评分,评分范围是 00 到 1010 分。而每位同学的得分就是这些评委给分中去掉一个最高分,去掉一个最低分,剩下 m−2�−2 个评分的平均数。

小明想知道得分最高的同学分数是多少,所以他想请你帮忙告诉他,最终评分保留 22 位小数。

输入:

第一行两个整数 n,m�,�,表示参加写作比赛的同学数量和评委的数量,题目保证 1≤n≤100,3≤m≤201≤�≤100,3≤�≤20。

接下来 n� 行,每行 m� 个整数 s1,s2,⋯,sm�1,�2,⋯,��,表示每位评委对某位同学的具体打分 s�,题目保证 0≤s≤100≤�≤10。

输出:

第一行一个浮点数,输出最终评分最高的同学的分数,保留两位小数

样例输入:

7 6
4 7 2 6 10 7
0 5 0 10 3 10
2 6 8 4 3 6
6 3 6 7 5 8
5 9 3 3 8 1
5 9 9 3 2 0
5 8 0 4 1 10

样例输出:

6.00

//菜鸟复杂版

#include<stdio.h>
int main(){
    int n,m;
    scanf("%d %d",&n,&m);
    int a[n][m];
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            scanf("%d",&a[i][j]);
            if(j==m-1){
                printf("\n");   //换行
            }
        }
    }
    int s[n];
    for(int i=0;i<n;i++){
        int max=a[i][0];
        int min=a[i][0];
        s[i]=a[i][0];
        for(int j=1;j<m;j++){
            s[i]+=a[i][j];
            if(max<a[i][j]){
                max=a[i][j];
            }
            if(min>a[i][j]){
                min=a[i][j];
            }
        }
        s[i]=s[i]-max-min;      //计算去掉最大最小之后的总分
    }
    int max=s[0];
    for(int i=1;i<n;i++){
        if(max<s[i]){
            max=s[i];     //最大的同学总分
        }
    }
    float high=0;
    high=max/(m-2);    //平均分
    printf("%.2f",high);
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值