輸入多組數據,每組 n 門課,每門給出學分 s 和百分制成績 p (p=-1 表示缺考不計入)。按規則換算Grade Point:A(90-100)=4, B(80-89)=3, C(70-79)=2, D(60-69)=1, E(0-59)=0。GPA = Σ(s × GradePoint) / Σ s。保留兩位小數,無有效課程輸出 -1。
double grade_point(double score) {
if (score >= 90) return 4;
if (score >= 80) return 3;
if (score >= 70) return 2;
if (score >= 60) return 1;
return 0;
}
int main() {
int n;
while (scanf("%d", &n) != EOF) {
double sum_credits = 0, sum_weighted = 0;
for (int i=0; i
%.2lf 保留兩位小數(四捨五入)。輸入:3 門課 (3,92) (5,80) (2,60) → 學分 3+5+2=10,加權 3×4+5×3+2×1=12+15+2=29,GPA=2.90。
此題純模擬,考察輸入處理、條件分支、浮點數輸出格式控制。