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

    }

}

 

你可能感兴趣的:(java)