Grade Assessment
題目說明
撰寫一個程式,允許使用者輸入一個整數(代表學生的期中考分數)和一個浮點數(代表學生的期末考分數)。程式需要計算這兩個分數的加權平均,其中期中考佔總成績的40%,期末考佔總成績的60%。
計算加權平均後,需將結果四捨五入至最接近的整數,再根據四捨五入後的分數判定學生的成績等級:
- 如果四捨五入後的加權平均分數大於或等於90分,輸出"A"
- 如果四捨五入後的加權平均分數大於或等於80分但小於90分,輸出"B"
- 如果四捨五入後的加權平均分數大於或等於70分但小於80分,輸出"C"
- 如果四捨五入後的加權平均分數大於或等於60分但小於70分,輸出"D"
- 如果四捨五入後的加權平均分數小於60分,輸出"F"
請完成程式中缺少的calculateGrade
函數,該函數接收一個整數和一個浮點數作為參數,計算加權平均分數並四捨五入,然後根據上述標準返回適當的等級字串。
四捨五入的函數可以使用Math.round()
。
請注意:除了實作calculateGrade
函數外,請勿修改其他已經提供的程式碼。違反此規則者,無論自動評測結果為何,均不計分。允許輕微的排版差異。
程式模板
import java.util.Scanner;
public class GradeCalculator {
public static void main(String[] args) {
// 讀取整數和浮點數
Scanner scanner = new Scanner(System.in);
int midterm = scanner.nextInt();
double finalExam = scanner.nextDouble();
// 計算成績等級,第一個參數是期中考分數(整數),第二個參數是期末考分數(浮點數)
// 回傳值是代表成績等級的字串 ("A", "B", "C", "D" 或 "F")
String grade = calculateGrade(midterm, finalExam);
System.out.println(grade);
scanner.close();
}
// 計算加權平均分數並返回對應的成績等級
// 期中考佔40%,期末考佔60%
// 參數是期中考分數(整數)和期末考分數(浮點數)
public static ... calculateGrade(...) {
// 請在此實作函數
}
}
輸入值的格式
輸入包含兩個數字,以空格分隔:
- 第一個數字是一個整數,代表期中考分數(範圍:0 到 100)
- 第二個數字是一個浮點數,代表期末考分數(範圍:0.0 到 100.0)
輸出值的格式
輸出為一個單獨的字串,代表學生的成績等級:
"A":加權平均分數大於或等於90分
"B":加權平均分數大於或等於80分但小於90分
"C":加權平均分數大於或等於70分但小於80分
"D":加權平均分數大於或等於60分但小於70分
"F":加權平均分數小於60分
邊界條件提示
- 考慮各類成績邊界值的情況,如恰好處於等級分界線上的分數
- 確保處理輸入分數的各種可能範圍(最低0分,最高100分)
- 注意浮點數計算可能出現的精度問題
## 範例輸入 #1
85 93.33
範例輸出 #1
A
說明:加權平均分數 = 85 × 0.4 + 93.33 × 0.6 = 90(四捨五入),所以輸出A。
Comments