学生排序

Script

n个学生,要求按照女生在前,男生在后,矮个在前,高个在后的顺序重新进行排队。如果身高相同按原始的先后顺序排列。

Input

1行为学生数量n,从第2行开始每一行为一个学生的信息:每行包括学生姓名、性别、身高等信息。

Output

重新排序后的学生信息。

Sample Input

a female 180

b male 160

c female 150

d male 170

e male 170

Sample Output

c,female,150

a,female,180

b,male,160

d,male,170

e,male,170

其实我写的程序非常水;

import java.util.*;
class Student{
	int h;
	String n,s;
}
class MyComprator implements Comparator{
	 public int compare(Object arg0, Object arg1) {
	        Student t1=(Student)arg0;
	        Student t2=(Student)arg1;
	        if(t1.h != t2.h)
	            return t1.h>t2.h? 1:-1;
	        else
	            return t1.h>t2.h? 1:-1;
	    }
}
public class aa{
	static int r;
	static String name,sex;
	static float height;
   Student [] arr;
      aa(){
       arr = new Student[100];
       for(int i=0;i<100;i++)
         arr[i]=new Student();
      }
public static void main(String args[]){
      Scanner cin=new Scanner(System.in);
      aa a1=new aa();
       while(cin.hasNext()){
    	    r=cin.nextInt();
    	    for(int j=0;j<r;j++)
    	    {
    	    	a1.arr[j].n=cin.next();
    	    	a1.arr[j].s=cin.next();
    	    	a1.arr[j].h=cin.nextInt();
    	    }
    	    Arrays.sort(a1.arr,new MyComprator());
    	    for(int j=1;j<=2;j++){
    	       for(int i=100-r;i<100;i++){
    	    	  // String aaa=a1.arr[100-r].s;
    	    	   //System.out.println(aaa+"   "+a1.arr[i].s);
                 if(j==1&&a1.arr[i].s.equalsIgnoreCase("female"))
    	    	   System.out.println(a1.arr[i].n+" "+a1.arr[i].s+ " "+a1.arr[i].h);
                 if(j==2&&a1.arr[i].s.equalsIgnoreCase("male"))
                    System.out.println(a1.arr[i].n+" "+a1.arr[i].s+ " "+a1.arr[i].h);
    	       }
    	    }
       }
       
      
}



}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C++课程题目及其答案 一、 课程设计题目: 1简单事务处理:设计模拟一个书店的销售账目。程序能够添加、修改书目,根据进货和销售数目更新库存数。(或类似的学生学籍管理、仓库物品管理、设备管理等,人选一个) 2 排序算法:设计四种及以上的排序算法,如冒泡排序、选择排序、插入排序、折半排序、快速排序、希尔排序等。 二、 设计内容及要求: 每位同学任选一个题目,单独完成。 对所选的题目,要有功能分析,编写程序,编译调试,生成可执行文件。第一大题一定要采用文件或链表方式设计,对管理的物品采用结构或链表或类来设计;功能模块应分为总控(用户界面)、增加、减少、修改等。 课程设计报告要有需求分析,总体分析,模块的划分,对各功能模块有详细说明,输入/ 输出说明,附程序源代码,对程序中的算法、设计的精巧之处有所论述。 一、面向过程设计题1----用迭代法求a的立方根 二、面向过程设计题2------求出n与其反序数之和并输出 三、面向过程设计题3-----用最少张数凑钱 四、面向过程设计题4-----计算一年某天星期几 五、面向过程设计题5----将输入的10进制正整数转换为罗马数据 六、面向过程设计题6----Fibonacci数列 七、面向对象设计题7---------复数的加法以及对复数的输出 八、面向对象设计题8---------实现DateType类 九、面向对象设计题9---------按照三种不同的方法求求出Fibonacci数列的第n项 十、面向对象设计题10---------重载二目运算符“+”和“^” 十二、面向对象设计题12---------设计一个类CStudent 12.1 需求分析…………………………………………………………………………2 12.2 概要设计………………………………………………………………………...2 12.3 详细设计与编码………………………………………………………………...2 12.4 调试分析………………………………………………………………………...2 12.5 用户使用说明 ………………………………………………………………….2 12.6 设计心得………………………………………………………………………...2 十六、数据结构设计题16-------统计选票 16.1 需求分析……………………………………………………………………….…..2 16.2 概要设计……………………………………………………………………….......2 16.3 详细设计与编码……………………………………………………………….....2 16.4 调试分析……………………………………………………………………….......2 16.5 用户使用说明 ……………………………………………………………………2 16.6 设计心得……………………………………………………………………….......2 十七、数据结构设计题17-------扑克牌 17.1 需求分析……………………………………………………………………….…..2 17.2 概要设计……………………………………………………………………….......2 17.3 详细设计与编码……………………………………………………………….....2 17.4 调试分析……………………………………………………………………….......2 17.5 用户使用说明 ……………………………………………………………………2 17.6 设计心得……………………………………………………………………….......2 一、面向过程设计题1----用迭代法求a的立方根

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值