3010 奖学金2 结构体 排序基础

 

复制代码
#include<bits/stdc++.h>
using namespace std;
struct node{
    int yw,sx,yy,zf,id;
};
node a[301];
bool comp(node a,node b)
{
       //总分高优先,总分相同,语文成绩高优先,语文相同,顺序小优先
    if(a.zf==b.zf){
        if(a.yw==b.yw)return a.id<b.id;
        else return a.yw>b.yw;
    }
    else return a.zf>b.zf;
}
int main()
{
    //1.定义变量
    int n;
    //2.输入数据 
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i].yw>>a[i].sx>>a[i].yy;
        a[i].id = i;
        a[i].zf = a[i].yw+a[i].sx+a[i].yy;
    }
    sort(a+1,a+1+n,comp);
    for(int i=1;i<=5;i++)
        cout<<a[i].id<<" "<<a[i].zf<<endl;
     return 0;
}
复制代码

 

posted @   CRt0729  阅读(67)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示