问题描述
小蓝给学生们组织了一场考试,卷面总分为100分,每个学生的得分都是一个0到100的整数。
如果得分至少是60分,则称为及格。如果得分至少为85分,则称为优秀。
请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整数。
输入格式
输入的第一行包含一个整数n,表示考试人数。
接下来n行,每行包含一个0至100的整数,表示一个学生的得分。
输出格式
输出两行,每行一个百分数,分别表示及格率和优秀率。百分号前的部分四舍五入保留整数
样例输入
样例输出
评测用例规模与约定
对于50%的评测用例,1≤n≤100。
对于所有评测用例,1≤n≤10000。
package com.jinglan.exercise;
import java.text.NumberFormat;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
/*
* 及格率和优秀率 用百分号表示 四舍五入
* 及格人数/总人数 大于等于60
* 优秀人数/总人数 大于等于85
*/
Scanner sc = new Scanner(System.in);
//总人数
int num = sc.nextInt();
//数组
int [] arr = new int[num];
//将键盘的数据存放到数组中
for(int i=0;i<num;i++) {
arr[i]=sc.nextInt();
}
//遍历数组中的元素,对于大于等于65的元素进行计数
//遍历数组中的元素,对于大于等于85的元素进行计数
int N=0;//及格人数
int M=0;//优秀人数
for(int n:arr) {
if(n>=60) {
N++;
}
if(n>=85) {
M++;
}
}
//得到及格人数和优秀人数后计算及格率和优秀率
double passRate = (double) N/num;
double excellentRate=(double) M/num;
NumberFormat nf = NumberFormat.getPercentInstance();
System.out.println(nf.format(passRate));//自动四舍五入。
System.out.println(nf.format(excellentRate));//自动四舍五入。
}
}