文章
119
粉丝
68
获赞
92
访问
20.1k
#include <bits/stdc++.h>
using namespace std;
// 从字符串中提取整数
int getInt(string s, int &index) {
int ans = 0;
while (index < s.size() && isdigit(s[index])) {
ans *= 10;
ans += s[index++] - '0';
}
return ans;
}
// 返回运算符的优先级
int level(char c) {
if (c == '*' || c == '/') return 2; // 乘除优先级更高
else if (c == '+' || c == '-') return 1;
else return 0;
}
// 根据运算符计算两个数的结果
int opCal(int a, int b, char op) {
if (op == '*') return a * b;
else if (op == '/') return a / b;
else if (op == '+') return a + b;
else if (op == '-') return a - b;
return 0;
}
int main() {
string s;
while (cin >> s) {
int i = 0;
stack<int> data; // 存储操作数
stack<char> op; // 存储运算符
while (i < s.size()) {
if (isdigit(s[i])) {
data.push(getInt(s, i)); // 读取操作数
} else {
char opi = s[i...
登录后发布评论
暂无评论,来抢沙发