【4.1日题解】——奖学金(纯c工程代码表述)

简介: 【4.1日题解】——奖学金(纯c工程代码表述)

今天开始参与一下打卡计划,今天的题目不是很难,其实就是一个简单的模拟题。但是因为最近在实习,最大的改进就是编码

【4.1日每日一题打卡】——奖学金


🧑🏻作者简介:一个从工业设计改行学嵌入式的年轻人

✨联系方式:2201891280(QQ)

⏳全文大约阅读时间: 20min


全文目录

☘前言☘

📑写在最后

P1093 [NOIP2007 普及组] 奖学金

解题思路


直接使用内置的排序函数,写好排序算法就好了。但是一定要注意代码规范,相应的传参一定要规范!!

#include <stdio.h>
#include <stdlib.h>
typedef struct{
        int id, c, m, e, total;
}Score;
Score score[300];
int cmp(const void * a, const void *b){//固定函数定义
        Score *p = (Score *)a, *q =(Score *) b;//强转
        if(p->total != q->total) //对比总分
                return p->total > q->total ? -1: 1;//-1就是不变 1就是调整顺序就是反序
        if(p->c != q->c)    //对比语文成绩
                return p->c > q->c ? -1: 1;
        return p->id < q->id ? -1: 1;//对比id号 这里是小的在前面
}
int main(){
        int n;
        scanf("%d",&n);
        for(int i = 0;i < n;++i){
                scanf("%d %d %d", &score[i].c, &score[i].m, &score[i].e);
                score[i].total = score[i].c + score[i].m + score[i].e;
                score[i].id = i+1;
        }
        qsort(score, n, sizeof(Score),cmp);
        for(int i = 0;i < 5;i++)
                printf("%d %d\n", score[i].id, score[i].total);
        return 0;
}


📑写在最后

一个新的开始吧,希望可以跟着执梗大佬一起走到最后。


相关文章
GEE错误——超限问题解决Export too large: specified 375255165 pixels (max: 100000000)
GEE错误——超限问题解决Export too large: specified 375255165 pixels (max: 100000000)
459 10
|
存储 安全 程序员
【C++11】C++11深度解剖(上)
【C++11】C++11深度解剖(上)
79 0
|
存储 数据采集 搜索推荐
BoostCompass(数据准备预处理模块)
BoostCompass(数据准备预处理模块)
96 0
element 下拉框滚动加载
element 下拉框滚动加载
345 0
vue3中的父子间传值
vue3中的父子间传值
210 0
|
存储 JavaScript 前端开发
Vue的Serverless应用开发
Vue的Serverless应用开发
|
人工智能 算法 BI
零基础学算法100天第6天——差分(基础算法)
前两天的零基础算法系列我们讲了一维与二维的前缀和,既然讲了前缀和那就不得不讲它的兄弟——差分。差分的本质,实际上就是前缀和的逆运用,掌握好了前缀和那么差分也就是砍瓜切菜。差分也是一个非常重要的知识点,大家一定要掌握好!
184 0
零基础学算法100天第6天——差分(基础算法)
|
API UED
房屋出租系统设计与实现
房屋出租系统设计与实现
263 0
房屋出租系统设计与实现
Qt&Vtk-023-MultiView
Qt&Vtk-023-MultiView
189 0
Qt&Vtk-023-MultiView