题目:成绩统计
小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。
- 如果得分至少是 60 分,则称为及格。
- 如果得分至少为 85 分,则称为优秀。
请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整数。
输入格式
输入的第一行包含一个整数 n,表示考试人数。
接下来 n 行,每行包含一个 0 至 100 的整数,表示一个学生的得分。输出格式
输出两行,每行一个百分数,分别表示及格率和优秀率。百分号前的部分四舍五入保留整数。
问题分析:
使用扫描器录入学生成绩与学生人数,使用for循环依次录入
使用if条件根据不同的条件进行判断
判断出成绩的最大值
代码如下:
public static void main(String []args) {
Scanner sc=new Scanner(System.in);
System.out.println("输入班级学生总数:");
int num = sc.nextInt();
System.out.println(num);
int pass=0;
int good=0;
int[] scores =new int[num];
if (num!=0){
for (int i = 0; i < num; i++) {
System.out.println("输入第"+(i+1)+"位学生得分-----------");
scores[i]=sc.nextInt();
if (scores[i]>=60){
pass++;
}
if (scores[i]>=85){
good++;
}
}
System.out.println( "这几位学生及格的百分比为:"+pass*100/num + "%");
System.out.println( "这几位学生优秀的百分比为:"+good*100/num + "%");
}
int max=scores[0];
for (int i = 1; i < scores.length; i++) {
if(scores[i]>max) {
max=scores[i];
}
}
System.out.println("本次成绩最高分为:"+max);
sc.close();
}
最后输出;