如何从输入中提取?

时间:2019-03-16 09:51:24

标签: c++

假设输入如下,您如何计算?

所有问题的格式为    您还注意到所有数字都是正整数,并且只有3种类型的运算符:+,-和*。

样本输入1

5-3

样本输出1

2

样本输入2

7 * 7

样本输出2

49

样本输入3

13 + 4

样本输出3

17

2 个答案:

答案 0 :(得分:0)

您的任务是用https://en.wikipedia.org/wiki/Reverse_Polish_notation编写计算器。网上有很多关于如何执行此操作的教程。

答案 1 :(得分:0)

好吧,由于您对实现没有任何要求,因此简单的switch statement就可以了。这是一个简单的示例实现。如果您不熟悉C ++,请记下std::cerr

#include <iostream>
#include <cstdlib>

int main()
{
  int a, b;
  char op;
  std::cin >> a >> op >> b;
  switch (op)
  {
    case '+':
    {
      std::cout << a + b << std::endl;
      break;
    }
    case '-':
    {
      std::cout << a - b << std::endl;
      break;
    }
    case '*':
    {
      std::cout << a * b << std::endl;
      break;
    }
    default:
    {
      std::cerr << "Invalid operator" << std::endl;
      return EXIT_FAILURE;
    }
  }
  return EXIT_SUCCESS;
}