Asa's Website

A - Grading

cpaojitp1

最終更新日

Table of Contents

Loading...

問題

https://onlinejudge.u-aizu.ac.jp/courses/lesson/2/ITP1/7/ITP1_7_A

問題文

中間試験の点数 mm 、期末試験の点数 ff 、再試験の点数 rr が与えられるので、成績を計算してね。
ただし、受けていない場合は -1

以下の手順で成績を計算する。

  1. 中間試験・期末試験のいずれかを欠席したら F
  2. 中間・期末の合計が 8080 以上なら A
  3. 中間・期末の合計が 6565 以上なら B
  4. 中間・期末の合計が 5050 以上なら C
  5. 中間・期末の合計が 3030 以上なら D 。ただし再試験の点数が 5050 以上なら C
  6. 中間・期末の合計が 3030 未満なら F

複数のテストケースが与えられる。
m=f=r=1m = f = r = -1 が与えられたら入力の終わり。

制約

サンプル

I/O 1

40 42 -1 20 30 -1 0 2 -1 -1 -1 -1
A C F

考察

指示通りやるだけ。

コード

https://onlinejudge.u-aizu.ac.jp/status/users/a01sa01to/submissions/1/ITP1_7_A/judge/6370752/C++17

int main() { while (true) { int m, f, r; cin >> m >> f >> r; if (m == -1 && f == -1 && r == -1) break; if (m == -1 || f == -1) cout << "F"; else if (m + f >= 80) cout << "A"; else if (m + f >= 65) cout << "B"; else if (m + f >= 50) cout << "C"; else if (m + f >= 30) { if (r >= 50) cout << "C"; else cout << "D"; } else cout << "F"; cout << endl; } return 0; }