//求人秒解,我们最近的作业!
//任意20名学生,每个学生5门功课成绩。
//1.分别统计每门功课的优、良、中、及格、不及格人数;
//2.求出每个同学的总分并按总分由高到低排列;
//3.输出每一门成绩的平均分,保留一位小数;
class Student{
private static int number=0;
private int sno;
private int[] score=new int[5];
private int total;
private String[] grade=new String[5];
Student(){
sno=++number;
this.setScore();
this.setGrade();
this.setTotal();
}
public void setScore(){
for(int i=0;i<5;i++){
this.score[i]=new java.util.Scanner(System.in).nextInt();
}
}
public void setGrade(){
for(int i=0;i<5;i++){
switch(score[i]/10){
case 9:grade[i]="优";break;
case 8:grade[i]="良";break;
case 7:grade[i]="中";break;
case 6:grade[i]="及格";break;
default:grade[i]="不及格";
}
}
}
public void setTotal(){
for(int i=0;i<5;i++){
this.total+=score[i];
}
}
public int getTotal(){
return total;
}
public int getSno(){
return sno;
}
public int getScore(int i){
return score[i];
}
public String getGrade(int i){
return grade[i];
}
}
public class homework {
public static void main(String[] args){
int num = 20;
int[][] matrix=new int[5][5];
double[] ave=new double[5];
Student[] stu=new Student[num];
for(int i=0;i<num;i++){
stu[i]=new Student();
}
for(int i=0;i<num-1;i++){
for(int j=0;j<num-i-1;j++){
if(stu[j].getTotal()>stu[j+1].getTotal()){
Student st=stu[j];
stu[j]=stu[j+1];
stu[j+1]=st;
}
}
}
for(Student s:stu){
for(int j=0;j<5;j++){
if(s.getGrade(j).equals("优"))matrix[j][0]++;
if(s.getGrade(j).equals("良"))matrix[j][1]++;
if(s.getGrade(j).equals("中"))matrix[j][2]++;
if(s.getGrade(j).equals("及格"))matrix[j][3]++;
if(s.getGrade(j).equals("不及格"))matrix[j][4]++;
}
}
System.out.println("科目人数:优
良
中
差
及格
不及格");
for(int i=0;i<5;i++){
System.out.print("科目"+(i+1));
for(int j=0;j<5;j++){
System.out.print("
"+matrix[i][j]);
}
System.out.println();
}
for(int i=0;i<5;i++){
for(int j=0;j<stu.length;j++){
ave[i]=ave[i]+Double.parseDouble(String.valueOf(stu[j].getScore(i)));
}
}
for(int i=0;i<ave.length;i++){
System.out.println("科目"+(i+1)+"的均分:"+ave[i]);
}
}
}