1.请声明一个二维数组,数组名为cjb,该数组10行3列,每1行保存1个学生的学号和成绩信息,第1列保存学号,第2列保存java成绩,第3列保存英语成绩,共可保存10个学生的信息; 2.提示用户输入10个同学的学号和成绩信息,把输入的信息保存到数组cjb中; 3.将数组cjb中的信息显示出来,一行显示一个学生信息; 4.对数组cjb以总成绩为关键字进行降序排序,排序算法采用冒泡排序算法;5.将排序后的数组cjb中的信息显示出来,一行显示一个学生信息.
这个最好不用数组,定义一个学生类,把类放到数组里面更好操作。
public class Test {
public static void main(String[] args) throws Exception {
// 第一步读入数据
Student[] students = new Student[10];
Scanner sc = new Scanner(System.in);
for (int i = 0; i < 10; i++) {
Student st = new Student();
st.name = sc.next();
st.chinese = sc.nextInt();
st.math = sc.nextInt();
st.english = sc.nextInt();
st.sum = st.chinese + st.math + st.english;
students[i] = st;
}
// 根据总成绩降序排列
// 存入到文件中
for (Student student : students) {
System.out.printf("%s %d %d %d\n", student.name, student.chinese, student.math, student.english);
}
}
}
class Student {
// 姓名
String name;
// 语文成绩
int chinese;
// 数学成绩
int math;
// 英语成绩
int english;
int sum;
}
你可以参照这个,只是 Student 中的内容可以改一下。然后排序算法的话需要你自己补充了。
建议自己先写,哪里遇到问题再问。
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632