华为上机测试题(及格分数线-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;
    }
}

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。