繁体   English   中英

如何从输入中提取?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM