本文主要是介绍1043: 利用栈完成后缀表达式的计算,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
解法:
#include<iostream>
#include<stack>
using namespace std;
int main() {char a;stack<int> sk;while (cin >> a && a != '#') {if (a >= '0' && a <= '9') {sk.push(a - '0');}else {int num2 = sk.top();sk.pop();int num1 = sk.top();sk.pop();if (a == '*') sk.push(num1 * num2);if (a == '/') sk.push(num1 / num2);if (a == '+') sk.push(num1 + num2);if (a == '-') sk.push(num1 - num2);}}cout << sk.top();return 0;
}
这篇关于1043: 利用栈完成后缀表达式的计算的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!