[英]How to extract from input?
假设输入如下,你如何计算?
所有的问题都是格式你还注意到所有的数字都是正整数,只有3种运算符:+、-和*。
样本输入 1
5 - 3
示例输出 1
2
样本输入 2
7*7
示例输出 2
49
样本输入 3
13 + 4
示例输出 3
17
您的任务是在https://en.wikipedia.org/wiki/Reverse_Polish_notation 中编写一个计算器。 网上有很多关于如何做到这一点的教程。
好吧,由于您对实现没有要求,一个简单的switch 语句就可以了。 这是一个简单的示例实现。 如果您不std::cerr
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;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.