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