数组小练习:成绩排序,评等级

`import java.util.*;
public class Demo13{
public static void main(String[] arg){java

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");
		}
	}		
}

}数组

`code

相关文章
相关标签/搜索