【PAT】B1077 互评成绩计算(20 分)

录入成绩,直接将所有同学给的分数相加,排序,减去最大和最小
省去了遍历一次

注意四舍五入

#include<cstdio>
#include<string.h>
#include<algorithm>
using namespace std;
int main(){
    //分别是分组数和满分
    int N,M;scanf("%d %d",&N,&M);
    for(int i=0;i<N;i++){                                    //每个学生
        //每行给出该组得到的 N 个分数
        int g2,num=0,score=0,data[100];
        scanf("%d",&g2);                                //教师给的成绩
        for(int j=0;j<N-1;j++){                           //接受同学给的成绩并求和
            int temp;scanf("%d",&temp);
            if(temp>=0&&temp<=M){
                score+=temp;data[num++]=temp;
            }
        }
        sort(data,data+num);                            //排序,没有传入比较函数默认升序
        score-=data[0];score-=data[num-1];    //减去最高分和最低分
        float g1 = (float)score/(num-2);            //求成绩
        int final=(int)(((g1+g2)/2)+0.5);            //四舍五入
        printf("%d",final);
        if(i!=N-1) printf("\n");
    }
    return 0;
}
全部评论

相关推荐

03-10 20:17
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
小厂面经,也是我的处女面(30min)1.自我介绍2.spring&nbsp;boot的自动装配原理(好多类和接口的单词都忘了全称是啥了,就说了记得的单词,流程应该说对了吧)3.有用过redis吗?主要是用在实现什么功能(说了技术派用redis的zset来实现排行榜)5.有了解过Redisson吗?讲一下对于分布式锁的了解以及在什么场景下应用(说了秒杀场景)6.对mysql有了解吗?包括它的索引优化和创建(把想起来的全说了)7.了解设计模式吗?比如单例模式,为什么要使用单例模式,它的优点是什么(昨天刚看的设计模式)8.工厂模式有了解吗?主要的使用场景是?(也是昨天刚看的)9.场景题:有7个服务器,需要在早上十点定时的向数据库中的用户表中的用户发短信,如果做到发送的消息不重复,且如果发送失败了需要知道是到哪个用户失败了,这样下次就直接从这个用户开始(我答了用spring&nbsp;task来实现定时,用分布式锁来保证只有一份服务器可以发送消息,用消息队列来存储消息,然后用消息确认机制来保证错误信息的记录,以及在数据库或者业务层面完成消息消费的幂等性)10.场景题:如果在系统启动的时间就将数据库的所有用户相关的信息都读到一个hashmap中(这个没啥思路,没答好)27届的投了一个星期终于有一个面试了,大部分公司都只招26的
inari233:已oc,拒了
查看9道真题和解析
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务