假设输入如下,您如何计算?
所有问题的格式为 您还注意到所有数字都是正整数,并且只有3种类型的运算符:+,-和*。
样本输入1
5-3
样本输出1
2
样本输入2
7 * 7
样本输出2
49
样本输入3
13 + 4
样本输出3
17
答案 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;
}