JAVA 04 管理学生成绩

JAVA 04 管理学生成绩

六、附加题:请写出完成下面功能的程序。假定某班有10个学生,本学期上了3门课,请依次输入 姓名、第1门课成绩、第2门课成绩、第3门课成绩。
即首先输入第一个同学的姓名、第1门课成绩、第2门课成绩、第3门课成绩;
再输入第二个同学的姓名、第1门课成绩、第2门课成绩、第3门课成绩;
再输入第三个同学的姓名、第1门课成绩、第2门课成绩、第3门课成绩;…,
直至输入第10个同学的姓名、第1门课成绩、第2门课成绩、第3门课成绩。

然后求出每个同学的3门课的总分,再按总分对数组排序,最后按总分由高到低的顺序输出排序后的信息:
名次 姓名 第一门 第二门 第三门 总分

答案:
请依次输入10个同学的姓名_门课的成绩!请依次输入 1 个同学的姓名!w1
请依次输入 1 个同学的第1门课的成绩!56
请依次输入 1 个同学的第2门课的成绩!57
请依次输入 1 个同学的第3门课的成绩!58
请依次输入 2 个同学的姓名!q2
请依次输入 2 个同学的第1门课的成绩!57
请依次输入 2 个同学的第2门课的成绩!58
请依次输入 2 个同学的第3门课的成绩!59
请依次输入 3 个同学的姓名!q3
请依次输入 3 个同学的第1门课的成绩!60
请依次输入 3 个同学的第2门课的成绩!61
请依次输入 3 个同学的第3门课的成绩!67
请依次输入 4 个同学的姓名!q4
请依次输入 4 个同学的第1门课的成绩!88
请依次输入 4 个同学的第2门课的成绩!89
请依次输入 4 个同学的第3门课的成绩!90
请依次输入 5 个同学的姓名!q5
请依次输入 5 个同学的第1门课的成绩!98
请依次输入 5 个同学的第2门课的成绩!97
请依次输入 5 个同学的第3门课的成绩!96

cc: 171 174 188 267 291

序号 总分 姓名 1门 2门 3门
5 291 q5 98 97 96
4 267 q4 88 89 90
3 188 q3 60 61 67
2 174 q2 57 58 59
1 171 w1 56 57 58

分割线-------------------------------------------------------------------------------
代码如下:
package com.company;

import java.lang.String;
import java.util.Scanner;
public class Main {
public static void main( String args[]){
int [][] chart1;
Scanner sc=new Scanner(System.in);
chart1=new int[10][5];
//用二维数组记录,0-序号,1-第一门,2-第二门,3-第三门,4-总分;
String [] name;
name =new String[10];
System.out.println(“请依次输入10个同学的姓名_门课的成绩!”);
int i,j;
for(i=0;i<10;i++) {
System.out.println(“请依次输入”+(i+1)+“个同学的姓名!”);
name[i]=sc.next();
chart1[i][0]=i+1;
for(j=1;j<4;j++){
System.out.println(“请输入”+(i+1)+“号同学的第”+j+“门课成绩”);
chart1[i][j]=sc.nextInt();
}
chart1[i][4]=chart1[i][1]+chart1[i][2]+chart1[i][3];
}
int [] pai;
pai=new int[10];
int k=0,max,maxn=0;
for(i=0;i<10;i++){
max=chart1[0][4];
maxn=0;
for(j=1;j<10;j++) {
if (chart1[j][4] > max) {
max = chart1[j][4];
maxn=j;
}
}
pai[i]=maxn;
chart1[maxn][4]=0;
}
for(i=0;i<10;i++) chart1[i][4]=chart1[i][1]+chart1[i][2]+chart1[i][3];
System.out.println(“序号 总分 姓名 1门 2门 3门”);
for(i=0;i<10;i++) {
int x;
x=pai[i];
System.out.print(chart1[x][0]+" “);
System.out.print(chart1[x][4]+” “);
System.out.print(name[x]+” “);
for(int q=1;q<4;q++) System.out.print(chart1[x][q]+” ");
System.out.println();
}

}

}在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值