使用栈实现一个简单的计算器,能够计算包含加减乘除的表达式,要求考虑运算符优先级。
#include <iostream> // 包含输入输出流库
#include <stack> // 包含栈库
#include <string> // 包含字符串库
using namespace std; // 使用标准命名空间
int priority(char op) { // 定义优先级函数,用于返回操作符的优先级
if (op == '+' || op == '-') {
return 1;
}
else if (op == '*' || op == '/') {
return 2;
}
return 0;
}
int applyOp(int a, int b, char op) { // 定义应用操作函数,用于执行两个操作数和一个操作符之间的运算
switch (op) {
case '+': return a + b;
case '-': return a - b;
case '*': return a * b;
case '/': return a / b;
}
return 0;
}
int evaluateExpression(string expression) { // 定义表达式求值函数
stack<int> values; // 创建一个