首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> C++ 入門

HDU 1202 The calculation of GPA:加權平均分計算

     編輯:C++ 入門

HDU 1202 The calculation of GPA:加權平均分計算

輸入多組數據,每組 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

關鍵點

  1. 缺考 (p=-1) 不計入學分分母,也不計入分子。
  2. 雙精度浮點數累加,輸出 %.2lf 保留兩位小數(四捨五入)。
  3. 無有效課程時 sum_weighted=0,輸出 -1。
  4. 多測試案例直到 EOF。

樣例驗證

輸入:3 門課 (3,92) (5,80) (2,60) → 學分 3+5+2=10,加權 3×4+5×3+2×1=12+15+2=29,GPA=2.90。

此題純模擬,考察輸入處理、條件分支、浮點數輸出格式控制。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved