题目
小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。
如果得分至少是 60 分,则称为及格。如果得分至少为 85 分,则称为优秀。
请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整数。
【样例输入】
7
80
92
56
74
88
100
0
【样例输出】
71%
43%
代码
import java.util.Scanner;
public class 成绩统计 {
static Scanner sc = new Scanner(System.in);
static double jige=0;
static double youxiu=0;
static int jige1=0;
static int youxiu1=0;
public static void main(String[] args) {
int n=sc.nextInt();
int []a= new int[n]; //创建数组
for (int i = 0; i < a.length; i++) {
a[i]=sc.nextInt(); //录入输入的成绩
}
for (int i = 0; i < a.length; i++) {
//排除无效数据
if (a[i]>100||a[i]<0) {
break;
}
if (a[i]>=60) {
jige++;
}
if (a[i]>=85) {
youxiu++;
}
}
//保留小数点后两位!!!
jige1=(int)((jige/n)*100);
youxiu1=(int)((youxiu/n)*100);
//四舍五入!!!
if ((int)((jige/n)*1000)%10>=5) {
jige1=(int)((jige/n)*100)+1;
}
if ((int)((youxiu/n)*1000%10)>=5) {
youxiu1=(int)((youxiu/n)*100)+1;
}
System.out.println(jige1+"%");
System.out.println(youxiu1+"%");
}
}
输出结果
7
80
92
56
74
88
100
0
71%
43%