EX6 - 1.06 Editorial /

Time Limit: 2 sec / Memory Limit: 256 MB

説明ページに戻る

問題文

1行の計算式が与えられるので、その結果を出力してください。

与えられる計算式のパターンと対応する出力は以下の表の通りです。

入力 出力 備考
A + B A + Bの計算結果を出力
A - B A - Bの計算結果を出力
A * B A × Bの計算結果を出力
A / B A ÷ Bの計算結果を出力 小数点以下は切り捨てて出力
Bが0の場合はerrorと出力
A ? B errorと出力
A = B errorと出力
A ! B errorと出力
サンプルプログラム

このプログラムを元に解答を作成することを推奨します。

#include <bits/stdc++.h>
using namespace std;

int main() {
  int A, B;
  string op;
  cin >> A >> op >> B;

  if (op == "+") {
    cout << A + B << endl;
  }
  // ここにプログラムを追記
}

制約

  • 0≦A, B≦100
  • A, Bは整数
  • op+, -, *, /, ?, =, ! のいずれか一つ

入力

入力は次の形式で標準入力から与えられます。

A op B

出力

入力の計算式の計算結果を出力してください。 出力の最後には改行が必要です。


ジャッジでは以下の入力例以外のケースに関してもテストされることに注意。

入力例1

1 + 2

出力例1

3

入力例2

5 - 3

出力例2

2

入力例3

10 * 20

出力例3

200

入力例4

10 / 3

出力例4

3

計算結果の小数点以下は切り捨てます。


入力例5

100 / 0

出力例5

error

Bが0の場合はerrorと出力することに注意してください。


入力例6

25 ? 31

出力例6

error

入力例7

0 + 0

出力例7

0

テスト入出力

書いたプログラムがACにならず、原因がどうしてもわからないときだけ見てください。

クリックでテスト入出力を見る

テスト入力1
100 = 100
テスト出力1
error

テスト入力2
17 ! 91
テスト出力2
error

テスト入力3
0 / 20
テスト出力3
0

テスト入力4
0 * 0
テスト出力4
0

テスト入力5
0 - 0
テスト出力5
0


解答例

必ず自分で問題に挑戦してみてから見てください。

クリックで解答例を見る

#include <bits/stdc++.h>
using namespace std;

int main() {
  int A, B;
  string op;
  cin >> A >> op >> B;

  if (op == "+") {
    cout << A + B << endl;
  }
  else if (op == "-") {
    cout << A - B << endl;
  }
  else if (op == "*") {
    cout << A * B << endl;
  }
  else if (op == "/" && B != 0) {
    cout << A / B << endl;
  }
  else {
    cout << "error" << endl;
  }
}