簡體   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