数组小练习:成绩排序,评等级
`import java.util.*;
public class Demo13{
public static void main(String[] arg){
Scanner sc = new Scanner(System.in);
System.out.println("请输入学生数量:");
int number = sc.nextInt();
System.out.println("请输入"+number+"个学生的成绩:" );
int[] scores = new int[number];
//将输入的学生成绩依次封装到数组scores
for(int i=0;i<number;i++){
scores[i] = sc.nextInt();
}
int[] scores2 = new int[number];
// 因为接下来会对数组scores进行排序,会修改数组本身,所以我们提前将数组scores复制一份到数组scores2
for(int i=0;i<number;i++){
scores2[i] = scores[i];
}
//使用冒泡排序,将数组scores中的元素从小到大依次排序
/*
for(int i=0;i<number;i++){
for(int j=0;j<number-i-1;j++){
int tmp = 0;
if(scores[j]>scores[j+1]){
tmp = scores[j];
scores[j] = scores[j+1];
scores[j+1] = tmp;
}
}
}
*/
//实际上,Java的标准库已经内置了排序功能,我们只需要调用JDK提供的Arrays.sort()就可以排序
Arrays.sort(scores);
System.out.println("学生成绩从低到高:" + Arrays.toString(scores));
//遍历数组scores2中的元素,与之前排序好的最大值scores[number-1]做比较,根据条件计算将结果打印打出
for(int i=0;i<number;i++){
//成绩大于(最高分-10),评为等级A
if(scores2[i] >= scores[number-1]-10){
System.out.println("学生"+ i + "的成绩是:" + scores2[i] + ",等级是:A");
}else if(scores2[i] >= scores[number-1]-20){ //成绩大于(最高分-20),评为等级B
System.out.println("学生"+ i + "的成绩是:" + scores2[i] + ",等级是:B");
}else if(scores2[i] >= scores[number-1]-30){ //成绩大于(最高分-30),评为等级C
System.out.println("学生"+ i + "的成绩是:" + scores2[i] + ",等级是:C");
}else{ //其他情况,评为等级C
System.out.println("学生"+ i + "的成绩是:" + scores2[i] + ",等级是:D");
}
}
}
}
`


浙公网安备 33010602011771号