問題
https://onlinejudge.u-aizu.ac.jp/courses/lesson/2/ITP1/7/ITP1_7_A (新しいタブで開く)
問題文
中間試験の点数 、期末試験の点数 、再試験の点数 が与えられるので、成績を計算してね。
ただし、受けていない場合は -1
。
以下の手順で成績を計算する。
- 中間試験・期末試験のいずれかを欠席したら
F
。 - 中間・期末の合計が 以上なら
A
。 - 中間・期末の合計が 以上なら
B
。 - 中間・期末の合計が 以上なら
C
。 - 中間・期末の合計が 以上なら
D
。ただし再試験の点数が 以上ならC
。 - 中間・期末の合計が 未満なら
F
。
複数のテストケースが与えられる。
が与えられたら入力の終わり。
制約
- テストケース数 は 50 を超えない
サンプル
I/O 1
40 42 -1 20 30 -1 0 2 -1 -1 -1 -1
A C F
考察
指示通りやるだけ。
コード
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; }