题目:
题目描述
小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。
如果得分至少是 60 分,则称为及格。如果得分至少为 85 分,则称为优秀。
请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整 数。
输入描述
输入的第一行包含一个整数 n\ (1 \leq n \leq 10^4)n (1≤n≤104),表示考试人数。
接下来 nn 行,每行包含一个 0 至 100 的整数,表示一个学生的得分。
输出描述
输出两行,每行一个百分数,分别表示及格率和优秀率。百分号前的部分 四舍五入保留整数。
输入输出样例
输入
7
80
92
56
74
88
100
0
输入
71%
43%
运行限制
最大运行时间:1s
最大运行内存: 256M
分析:
把所有成绩存入集合,然后通过集合中挨个遍历,最后得出及格、优秀数量除以总数量,乘以100,然后加上百分号就是及格率了,题目要求我们四舍五入,那么我们需要判断小数点后那位是否大于5
步骤:
package 第十二届省赛第二套;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
//4.0
public class 测试 {
public static void main(String[] args) {
//7
//2
//55
//60
//74
//88
//99
//100
//输入
//
//71%
//43%
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
ArrayList<Integer> list = new ArrayList<>();
for (int i = 0; i < n; i++) {
list.add(sc.nextInt());
}
Collections.sort(list);
int jige = 0;
int youxiu=0;
for (int i = 0; i < n; i++) {
if (list.get(i)>=60) {
jige++;
}
if (list.get(i)>=85) {
youxiu++;
}
}
double jiged=jige/list.size()*100;
double youxiud=youxiu/list.size()*100;
int j=(int)((float)jige/list.size()*100);
int y=(int)((float)youxiu/list.size()*100);
System.out.println(j);
System.out.println(y);
if (jiged*10%10>=5) {
j++;
}
if (youxiud*10%10>=5) {
y++;
}
System.out.println(j+"%");
System.out.println(y+"%");
}
}