对学生多个成绩排序

假设有5名学生,定义二维数组score[5][3],通过键盘输入学生的平时成绩、期末成绩,计算总评成绩。

可以计算5名学生总评成绩的最高分、最低分、平均分。

可以对5名学生总评成绩实现从高分到低分排序。

参考代码(这可能并非最简方案):

  1. import java.util.*;   
  2. public class h   
  3. {   
  4.     public static void main(String[] args)   
  5.     {   
  6.         int score[][]=new int[5][4];   
  7.         int sum=0;   
  8.         Scanner c=new Scanner(System.in);   
  9.         System.out.println("输入5名学生的平时成绩、期末成绩");   
  10.         for(int i=0;i<5;i++)   
  11.         {   
  12.             score[i][3]=i+1;   
  13.             score[i][0]=c.nextInt();   
  14.             score[i][1]=c.nextInt();   
  15.             score[i][2]=score[i][0]+score[i][1];   
  16.             sum+=score[i][2];   
  17.         }   
  18.         for(int i=0;i<5;i++)   
  19.             for(int j=0;j<i;j++)   
  20.                 if(score[j][2]>score[j+1][2])   
  21.                 {   
  22.                     int temp=score[j][2];   
  23.                     score[j][2]=score[j+1][2];   
  24.                     score[j+1][2]=temp;   
  25.                     temp=score[j][1];   
  26.                     score[j][1]=score[j+1][1];   
  27.                     score[j+1][1]=temp;   
  28.                     temp=score[j][0];   
  29.                     score[j][0]=score[j+1][0];   
  30.                     score[j+1][0]=temp;   
  31.                     temp=score[j][3];   
  32.                     score[j][3]=score[j+1][3];   
  33.                     score[j+1][3]=temp;   
  34.                 }   
  35.         System.out.println("平均总成绩=" + (float)sum/5);   
  36.         System.out.println("从小到大成绩分布:");   
  37.         for(int i=0;i<5;i++)   
  38.         {   
  39.             System.out.println("第"+ score[i][3] + "个学生的总成绩:" +score[i][2]);   
  40.         }   
  41.     }   
  42. }  

留下评论