华为上机测试题(及格分数线-java)
PS:自己写的,自测试OK,供大家参考。
/*
描述:10个学生考完期末考试评卷完成后,A老师需要划出及格线,要求如下:
(1) 及格线是10的倍数;
(2) 保证至少有60%的学生及格;
(3) 如果所有的学生都高于60分,则及格线为60分
输入:输入10个整数,取值0~100
输出:输出及格线,10的倍数
输入样例:61 51 49 3020 10 70 80 90 99
输出样例:50
*/
import java.util.Scanner; public class passScore { static int N = 10; public static void main(String[] args) { System.out.println("输入"+N+"个整数,取值0~100,用空格格开,回车结束"); Scanner s = new Scanner(System.in); String str = s.nextLine(); String[] strArray = str.split(" "); int[] mark = new int[N]; s.close(); for(int i = 0; i < N; i++) { mark[i] = Integer.parseInt(strArray[i]); System.out.println(mark[i]); } sort(mark, N); if(mark[0] >= 60) { System.out.println("及格线是:60分!"); } else { System.out.println("及格线是:"+mark[4]/10*10+"分"); } } private static int[] sort(int[] mark, int len) { int temp = 0; for(int i = 0; i < len; i++) { for(int j = i+1; j < len; j++) { if(mark[i] > mark[j]) { temp = mark[i]; mark[i] = mark[j]; mark[j] = temp; } } } return mark; } }