目录
题目:成绩统计
小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。如果得分至少是 60 分,则称为及格。如果得分至少为 85 分,则称为优秀。请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整数。
解题思路:
题目没有给出多少名学生,所以需要创建Scanner,方便接收数据。每个学生的得分都是0~100之间所以用int类型,>=60为及格,>=85为优秀。
解题代码:
package com.java.cs;
import java.util.Scanner;
//成绩统计(计算及格率和优秀率)
public class JG {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();// 获取学生人数
int jg = 0;// 及格的个数
int yx = 0;// 优秀的个数
for (int i = 0; i < n; i++) {
int x = scan.nextInt();
if (x >= 60)
jg++;
if (x >= 85)
yx++;
}
// 乘以100是因为加了百分号
System.out.printf("%.0f", jg * 100.0 / n);
// %.0f 是输出 float 型或 double 型数据,按定点格式,小数点以下占0位。
// 也就是输出浮点数的整数部分,不输出小数点和小数点以下部分。小数部分 4 舍 5 入。
System.out.println("%");
System.out.printf("%.0f", yx * 100.0 / n);
System.out.println("%");
scan.close();
}
}
运行结果:
总结:
因为题目给出了分数都是整数所以使用了int类型接收分数,如果题目没有给出分数是整数,使用double会更好。这里我使用了“%.of”(%.0f 是输出 float 型或 double 型数据,按定点格式,小数点以下占0位。也就是输出浮点数的整数部分,不输出小数点和小数点以下部分。小数部分 4 舍 5 入。)