试题 算法提高 成绩排序2

资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
  给出n个学生的成绩,将这些学生按成绩排序,排序规则:总分高的在前;总分相同,数学成绩高的在前;总分与数学相同,英语高的在前;总分数学英语都相同,学号小的在前
输入格式
  第一行一个正整数n,表示学生人数
  接下来n行每行3个0~100的整数,第i行表示学号为i的学生的数学、英语、语文成绩
输出格式
  输出n行,每行表示一个学生的数学成绩、英语成绩、语文成绩、学号
  按排序后的顺序输出
样例输入
2
1 2 3
2 3 4
样例输出
2 3 4 2
1 2 3 1
数据规模和约定
  n≤100

题解:
1.创建一个类来保存每一位学生的数据
2.创建一个学生类的数组
3.冒泡排序,按题目要求设置条件即可得到最后答案


import java.util.Scanner;public class 成绩排序2 {public static void main(String[] args) {Scanner sc=new Scanner(System.in);    //此类用于控制台读取数据int n=sc.nextInt();                   //调用方法在控制台读取一个int的整数stu[] a=new stu[n];        //类的数组for(int i=0;i<n;i++)    //读取数据{a[i]=new stu();a[i].x=i+1;            //学号a[i].s=sc.nextInt();//数学分数a[i].e=sc.nextInt();//英语分数a[i].y=sc.nextInt();//语文分数}for(int i=0;i<n;i++)    //冒泡排序就行{for(int j=i+1;j<n;j++){//先判断总分if(a[i].s+a[i].e+a[i].y<a[j].s+a[j].e+a[j].y)  //按题目要求设置判断条件{stu b=new stu(); //实例一个类用来交换位置b=a[i];a[i]=a[j];a[j]=b;}else if((a[i].s+a[i].e+a[i].y==a[j].s+a[j].e+a[j].y)&&a[i].s<a[j].s){stu b=new stu();b=a[i];a[i]=a[j];a[j]=b;}else if((a[i].s+a[i].e+a[i].y==a[j].s+a[j].e+a[j].y)&&a[i].s==a[j].s&&a[i].e<a[j].e){stu b=new stu();b=a[i];a[i]=a[j];a[j]=b;}else if((a[i].s+a[i].e+a[i].y==a[j].s+a[j].e+a[j].y)&&a[i].s==a[j].s&&a[i].e==a[j].e&&a[i].x<a[j].x){stu b=new stu();b=a[i];a[i]=a[j];a[j]=b;}}}for(int i=0;i<n;i++){System.out.println(a[i].s+" "+a[i].e+" "+a[i].y+" "+a[i].x);}}}
class stu{          //存储学生数据类int x,s,e,y;
}

java 蓝桥杯算法提高 成绩排序2相关推荐

  1. JAVA 蓝桥杯 算法提高 阮小二买彩票

    JAVA 蓝桥杯 算法提高 阮小二买彩票 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 在同学们的帮助下,阮小二是变的越来越懒了,连算账都不愿意自己亲自动手了,每天的工作就是坐在电 ...

  2. JAVA 蓝桥杯 算法提高 色盲的民主

    JAVA 蓝桥杯 算法提高 色盲的民主 资源限制 时间限制:1.0s 内存限制:256.0MB  色盲的民主 问题描述 n个色盲聚在一起,讨论一块布的颜色.尽管都是色盲,却盲得各不相同.每个人都有自 ...

  3. Java实现 蓝桥杯 算法提高 成绩排名

    试题 算法提高 成绩排名 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 小明刚经过了一次数学考试,老师由于忙碌忘记排名了,于是老师把这个光荣的任务交给了小明,小明则找到了聪明的你, ...

  4. java 蓝桥杯算法提高 字符串匹配(题解)

    试题 算法提高 字符串匹配 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行.你的程序还需支持大小写敏感选项:当选项打开时 ...

  5. java 蓝桥杯算法提高 身份证号码升级(题解)

    试题 算法提高 身份证号码升级 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 从1999年10月1日开始,公民身份证号码由15位数字增至18位.(18位身份证号码简介).升级方法为 ...

  6. java 蓝桥杯算法提高 9-2 文本加密

    试题 算法提高 9-2 文本加密 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 先编写函数EncryptChar,按照下述规则将给定的字符c转化(加密)为新的字符:"A& ...

  7. java 蓝桥杯算法提高 出现次数最多的整数

    思路:其实这道题不是太难,但是这个题太坑了,提交了好多次都不是100,后来才知道,一定一定要在输入数组数据之前先判断一下输进去的n的范围,一定一定要注意,否则就是跟我下面的图片一样的效果了,泪奔~ 问 ...

  8. 邮票面值设计java,[蓝桥杯][算法提高VIP]邮票面值设计 (C++代码)

    解题思路: 注意事项: 参考代码://so easy #include #include//头文件 using namespace std; int a[17],n,k,ans[17],maxn;// ...

  9. Java语言strcmp函数用法_蓝桥杯 算法提高 11-1实现strcmp函数 (JAVA方法)

    蓝桥杯 算法提高 11-1实现strcmp函数 (JAVA方法) 首先这不是一个多难的题,但是网上的我没怎么找到有Java的代码,基本全都是c语言的,小编是个小白,如果有不对的地方请联系小编 问题描述 ...

最新文章

  1. 关于 form表单 嵌套问题的解决方案
  2. C#调用SSIS包及读取DataReader目标
  3. python字符串排序_Python-如何对字符串列表进行排序?
  4. 工作188:表单校验规则
  5. 超好:web app变革之rem
  6. thinkphp学习笔记8—命名空间
  7. puppet之用户管理
  8. Linux系统管理01--系统命令精讲
  9. 免费获取谷歌翻译api(Google Translate API)
  10. VMware12版虚拟机怎么安装win7系统(win7镜像ios安装版)
  11. 表格thead设置border无效的原因之一
  12. NLP NLU NLG 简介
  13. 三坐标检测之测量基准面的选择
  14. gitlab小记(一)
  15. 年过完了,收心吧!送给大家送一波前端新书!
  16. 检测和识别机动车驾驶证信息OCR
  17. C语言设计学生宿舍管理系统
  18. 春暖花开,我们去踏青
  19. 【算法】在N个乱序数字中查找第K大的数字
  20. matlab 中 strcat函数的用法

热门文章

  1. python 自动复制分类_leetcode python 常见分类问题模板(复制粘贴就能用) 更新中......
  2. mysql所支持的比较运算符_MySQL比较运算符一览表(带解析)
  3. c++多边形扫描线填充算法_基于3DGIS技术的梯形格网构建及其简化算法设计
  4. oracle触发器记录所有dml,Oracle DML类型触发器
  5. mysql utf-8长度_MySQL VARCHAR长度和UTF-8?mysql
  6. 计算机组装策划案,产品策划书格式
  7. 非法控制计算机信息系统罪的标准,非法获取计算机信息系统数据、非法控制计算机信息系统罪立案标准...
  8. 联通g网java业务的是什么_联通发力G网增值业务
  9. python获取微信用户基本信息_微信开放平台扫码登录获取用户基本信息!附可用demo...
  10. 16进制、10进制(n进制)转换为二进制