用java对学生学习成绩排序

java 专栏收录该内容
27 篇文章 0 订阅

这个经常作为基础程序进行练习或者考试还是很重要的这里我把他发出来了,如果有什么不懂的可以加q java交流群934623944一起讨论。
import java.util.*;
public class Student { public static void main(String[] args) {
Scanner in=new Scanner(System.in); System.out.println(“请输入学生人数:”);
int stuNum=in.nextInt(); System.out.println(“请输入课程数目:”);
int couNum=in.nextInt();
String[] name=new String[stuNum]; String[] course=new String[couNum];
int[][] score=new int[stuNum][couNum]; int[] sum=new int[stuNum];
double [] avg=new double[stuNum]; String[][] order=new String[stuNum][couNum+3];
/定义新数组,将一个同学的信息全部保存
for(int i=0;i<couNum;i++)
{
System.out.println(“请输入第”+(i+1)+“门课程的名称:”);
course[i]=in.next(); }
//录入课程名字
for(int i=0;i<stuNum;i++) { System.out.println(“请输入第”+(i+1)+“名学生的名字:”);
name[i]=in.next(); sum[i]=0;
for(int j=0;j<couNum;j++) { System.out.println(“请输入”+name[i]+course[j]+“的成绩:”);
score[i][j]=in.nextInt(); sum[i]+=score[i][j];//求取每个学生各自的总分 }
avg[i]=(sum[i]*1.0)/couNum;
//求取每个学生各自的平均分 }//录入学生名字和成绩
//将同学信息全部导入新数组 for(int i=0;i<stuNum;i++) {
for(int k=1;k<couNum+3;k++) { { order[i][0]=name[i];
if(k<1+couNum) order[i][k]=score[i][k-1]+""; else if(k==1+couNum) order[i][k]=sum[i]+""; else order[i][k]=avg[i]+"";
}
}
//order[i][couNum+3]=i+1+""; } //按总分排序
for(int i=0;i<stuNum;i++) { for(int m=i;m<stuNum;m++)
{ if(avg[i]<avg[m])
{
String[] t1=order[i]; order[i]=order[m];
order[m]=t1; }
}
}
//输出 System.out.print(“学生”);
for(int i=0;i<couNum;i++) System.out.print("\t"+course[i]); System.out.print("\t总分\t平均分\t排行榜"); System.out.println();
//打印表头
for(int i=0;i<stuNum;i++) {
for(int k=0;k<couNum+3;k++) System.out.print(order[i][k]+"\t");
//输出order数组 System.out.print(i+1);//输出排名 System.out.println();
}
}
}

  • 0
    点赞
  • 0
    评论
  • 4
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值