/* 平均学分绩 = 课程的学分 乘以 课程考试的分数总和 再除以 总学分 */
public static void main(String[] args) {
/* 平均学分绩 = 课程的学分 乘以 课程考试的分数总和 再除以 总学分 */
Scanner sc = new Scanner(System.in);
int count = 0;//控制输出长度
double score,//某门课成绩
credit, //某门课学分
gpa = 0,//平均学分绩 grade point average
creditAll = 0;//总学分
StringBuffer bfCredit = new StringBuffer();
// System.out.println(sc.next());
while (true) {
score = sc.nextDouble();
credit = sc.nextDouble();
if (credit == 111.0 && credit == score) {//一般没有超过100的成绩,故用此来作为结束标志
bfCredit.delete(bfCredit.length() - 1, bfCredit.length());//把最后一个” + “删掉
break;
} else {
if (count == 0)
System.out.print("(" + score + " x " + credit + ")");
else
System.out.print(" + (" + score + " x " + credit + ")");
gpa += score * credit;
creditAll += credit;
bfCredit.append(credit + "+");
count++;
if (count % 5 == 0)
System.out.println();
}
}
gpa /= creditAll;
System.out.println(" / (" + bfCredit + ") = " + gpa);
}注:若需要算平均学分绩点,稍微改改程序即可
该Java代码计算平均学分绩,通过输入每门课程的分数和学分,累加并平均,最后输出结果。程序使用Scanner读取数据,以111.0作为结束输入的标志,并在每5门课程后换行。计算平均学分绩点时,只需稍作修改。
1万+

被折叠的 条评论
为什么被折叠?



