蓝桥杯 成绩排序——结构体

问题描述
给出n个学生的成绩,将这些学生按成绩排序,
  排序规则,优先考虑数学成绩,高的在前;数学相同,英语高的在前;数学英语都相同,语文高的在前;三门都相同,学号小的在前
输入格式
  第一行一个正整数n,表示学生人数
  接下来n行每行3个0~100的整数,第i行表示学号为i的学生的数学、英语、语文成绩
输出格式
  输出n行,每行表示一个学生的数学成绩、英语成绩、语文成绩、学号
  按排序后的顺序输出

操作 :使用结构体与数组、冒泡排序。

#include<stdio.h>
#include<stdlib.h>typedef struct grade
{int num;int math;int english;int chinese;
}Grade;int main()
{int n,i,j;Grade a[101],temp;scanf("%d",&n);for(i=0;i<n;i++){scanf("%d %d %d",&a[i].math,&a[i].english,&a[i].chinese);   //输入学生成绩a[i].num=i+1;}// 对学生成绩进行冒泡排序for(i=0;i<n-1;i++){for(j=0;j<n-i-1;j++){if(a[j].math<a[j+1].math)    // 数学成绩在前{temp=a[j];a[j]=a[j+1];a[j+1]=temp;}else if(a[j].math==a[j+1].math)   //数学成绩相等{if(a[j].english<a[j+1].english)   //英语成绩在前{temp=a[j];a[j]=a[j+1];a[j+1]=temp;}else if(a[j].english==a[j+1].english)    //英语成绩相等{if(a[j].chinese<a[j+1].chinese)    //语文成绩在前{temp=a[j];a[j]=a[j+1];a[j+1]=temp;}else if(a[j].chinese==a[j+1].chinese)   //语文成绩相等{if(a[j].num>a[j+1].num)   //学号小的在前{temp=a[j];a[j]=a[j+1];a[j+1]=temp;}}}}}}for(i=0;i<n;i++){printf("%d %d %d %d\n",a[i].math,a[i].english,a[i].chinese,a[i].num);  //输出学生成绩}return 0;
}

若代码有错误的地方或是其他代码,请各位指教。

蓝桥杯 成绩排序——结构体相关推荐

  1. 蓝桥杯 成绩排序 C++算法提高 HERODING的蓝桥杯之路

    资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给出n个学生的成绩,将这些学生按成绩排序, 排序规则,优先考虑数学成绩,高的在前:数学相同,英语高的在前:数学英语都相同,语文高的在前 ...

  2. 【MATLAB基础】创建一个包含十名学生姓名学号和各学生六个科目成绩的结构体,并对成绩数据进行简单处理,并对十名学生按照成绩排序

    程序解决问题描述: 首先创建一个包含十名学生姓名学号和各学生六个科目成绩的结构体,分别求出十名学生的总成绩和平均成绩,最后按照总成绩对十名学生进行排序,并在命令窗口依次打印出1-10名的学生的姓名. ...

  3. 6-2 综合成绩排名-结构体二 (100分)

    6-2 综合成绩排名-结构体二 (100分) 众所周知,计算机院要对申请转入计算机大类的学生进行考核,考核方式包括机试和面试.学生综合成绩采取百分制,其中50%由机试成绩核算,另50%由学生已获得的加 ...

  4. 蓝桥杯 成绩统计 Python实现

    蓝桥杯 成绩统计 小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数. 如果得分至少是 60 分,则称为及格.如果得分至少为 85 分,则称为优秀. 请 ...

  5. 2021 第十二届 蓝桥杯 双向排序 题解 栈+文艺平衡树

    2021 第十二届蓝桥杯 双向排序 题解 栈+文艺平衡树 题目描述 思路 实现方法 代码 只用栈 只用栈的代码 题目描述 原题链接:https://www.lanqiao.cn/problems/14 ...

  6. (篇十)用结构体数组处理学生成绩、结构体类型函数求平均值

    文章目录 一.结构体变量 二.用结构体数组处理学生成绩 三.结构体类型函数求平均值 用C语言学好结构化编程逻辑!本篇主要分析结构体数组和结构体类型的函数,对于二级C语言来说,主要是考处理学生多个成绩上 ...

  7. 第十一届蓝桥杯 ——成绩统计

    题目描述 小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数. 如果得分至少是 60 分,则称为及格. 如果得分至少为 85 分,则称为优秀. 请计算及 ...

  8. (C语言)蓝桥杯 - 成绩统计

    题目描述 小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数. 如果得分至少是 60 分,则称为及格.如果得分至少为 85 分,则称为优秀. 请计算及格 ...

  9. 蓝桥杯 | 扑克排序(详细解析)

    一.题目描述 问题描述 扑克牌排序:构造扑克牌数组,对扑克牌进行排序. 排序原则如下: 数字从小到大是 2-10.J.Q.K 和 A, 花色从小到大是方块(diamond).梅花(club).红桃(h ...

最新文章

  1. 谁说数学不好,就不能成为编程大佬
  2. Flutter开发之路由跳转与传参(七)
  3. 【探秘ES6】系列专栏(二):迭代器和for-of循环
  4. 【Linux基础】crontab定时命令详解
  5. java学习笔记④MySql数据库--03/04 DQL查询
  6. MySQL------如何将SQLServer文件数据迁移到MySQL
  7. 为什么nodejs是单进程的_Nodejs探秘:深入理解单线程实现高并发原理
  8. 新视野大学英语(第三版)读写教程1答案(Units1-6)
  9. Codeforces 1006A
  10. 国产加密实际运用:使用SM3加盐存储密码,并且使用SM2进行登录认证
  11. 微信小程序 表情小作坊 — 轻松定制表情包
  12. 吃鸡服务器维护7月5号,绝地求生7月5日维护到几点 7月5日吃鸡更新维护公告
  13. 2021-11-03 投资学实务翻译9.1和9.2
  14. [JZOJ4588]冷战
  15. (比较器)Comparator比较器
  16. 360 os3.0 android7.1,【360 N6】360OS安卓7.1系统V3.0.070付费纯净版ROOT刷机包
  17. mac安装软件允许任何来源(sudo spctl --master-disable)
  18. 中国对世界主要经济体直接投资概况分析:对中国香港、东盟、欧盟投资流量分别是891.46亿美元、160.63亿美元、100.99亿美元[图]
  19. shell脚本控制jar包启停
  20. K8S 部署Prometheus

热门文章

  1. Java的Io模型你了解多少?工信部java证书
  2. 如何做Android第三方SDK准入测试
  3. 第三方SDK在maven打包时报错
  4. iOS 网络环境模拟流量监控实战
  5. ATMEL(爱特梅尔)样片申请与经验.
  6. android 录音机笔记
  7. 健康学习到150岁,人体系统调优不完全指南
  8. Cisco交换机基本操作
  9. CANoe IG发信号
  10. php删除图片unlink,php unlink 删除有关问题_PHP教程