首页
DreamJudge
院校信息
考研初试
机试真题
讨论区
兑换中心
登录
注册
上岸
以下题解仅供学习参考使用。
抄袭、复制题解,以达到刷AC率/AC数量或其他目的的行为,在N诺是严格禁止的。
N诺非常重视学术诚信。此类行为将会导致您成为作弊者。具体细则请查看N诺社区规则。
fff8e73
2025年7月8日 22:36
计算表达式 题解:
P1281
回复 0
|
赞 0
|
浏览 49
#include <bits/stdc++.h> using namespace std; struct op{ char ch; int pri; }; int ans[100]; int flag[100]{0}; int cnt=0; void getOp(char ch){//将当前运算符放入ans flag[cnt]=1;//运算符 if(ch=='+') ans[cnt]=1; else if(ch=='-') ans[cnt]=2; else if(ch=='*') ans[cnt]=3; else if(ch=='...
zxjrheaven
2025年3月23日 22:02
计算表达式 题解:非本人编写,但解法很好,值得分享
P1281
回复 0
|
赞 4
|
浏览 424
#include<bits/stdc++.h> using namespace std; int main(){ double t; double a[1000]; while(scanf("%lf",&t)!=EOF){ double sum=0; char ch;int i=0;a[0]=t; ...
上头内啡肽
2025年3月23日 10:03
计算表达式 题解:
P1281
回复 0
|
赞 2
|
浏览 355
#include <iostream> #include <cstring> #include <algorithm> #include<stack> #include<unordered_map> #define debug(a) cout<<#a<<"="<<a<<endl; using namespace std; unordered_map<char,int> mp; int cal(int a,int b...
上头内啡肽
2025年3月23日 10:03
计算表达式 题解:
P1281
回复 0
|
赞 0
|
浏览 449
#include <iostream> #include <cstring> #include <algorithm> #include<stack> #include<unordered_map> #define debug(a) cout<<#a<<"="<<a<<endl; using namespace std; unordered_map<char,int> mp; int cal(int a,int b...
riddle
2025年3月23日 09:53
计算表达式 题解:
P1281
回复 0
|
赞 3
|
浏览 414
比较好理解的,代码有些冗余,但思路比较清晰 #include <iostream> #include <stack> #include <map> #include <cctype> using namespace std; int main() { // 运算符优先级映射:'/' 和 '*' 优先级为 1,'+' 和 '-' 优先级为 0 map<char, int> mp; mp['/'] = 1; mp['*'] = 1; mp['+'] = 0;...
shiv15832
2025年3月17日 17:14
计算表达式 题解:用栈中缀表达式求值,附卡40%原因解答
P1281
回复 0
|
赞 8
|
浏览 432
原理直接看王道:https://www.bilibili.com/video/BV1b7411N798?spm_id_from=333.788.player.switch&vd_source=05a71f1abeba6e381e24f7eda5638267&p=29 先用map规定运算符的优先级,我的c++版本低不能直接赋值,建议也学一下map赋值笨办法,万一你上机的学校也是老版本就无从下手了。然后从头到尾遍历输入的字符串,遇到数字就加入数字栈num,遇到运算符先弹出优先级大于等于当前的运算符并计算,有了思路代码就是简单的模拟了。 但是直接写有一个问题,也是卡...
jsd
2025年2月25日 17:17
P1281 计算表达式 答疑提问:
P1281
回复 4
|
赞 9
|
浏览 657
#include<bits/stdc++.h> using namespace std; int main(){ map<char,int> m; m['+'] = 1; m['-'] = 1; m['*'] = 2; m['/'] = 2; stack<char> s; char a[100]; char b[100]; int cnt = 0; gets(a); int len = strlen(a); // for(int i = 0;i<len;i++){ //...
jsd
2025年2月18日 16:46
计算表达式 题解:
P1281
回复 0
|
赞 3
|
浏览 611
中缀表达式计算模板 #include<bits/stdc++.h> using namespace std; int main() { string s; cin>>s; stack<int> data; stack<char> op; map<char, int> mp = {{'#', 1}, {&...
RingoCrystal
2025年2月7日 14:06
计算表达式 题解:stack求值
P1281
回复 0
|
赞 11
|
浏览 717
#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 le...
123456608
2025年1月17日 16:14
计算表达式 先构造出后缀表达式,再计算后缀表达式
P1281
回复 0
|
赞 6
|
浏览 592
//10:38 //1281-计算表达式 #include<bits/stdc++.h> using namespace std; int charToint(char c[100],int n){ int s=0; // cout<<"c="<<c[0]-'0'<<endl; for(int i=0;i<=n;i++){ s=s*10+c[i]-'0'; // cout<<"s="<<s<<endl; } return s; } bool judge...
1
2
题目
计算表达式
题解数量
14
发布题解
在线答疑
热门题解
1
用 操作数栈+运算符栈 解决中缀表达式计算问题
2
计算表达式 题解:stack求值
3
P1281 计算表达式 答疑提问:
4
计算表达式 题解:用栈中缀表达式求值,附卡40%原因解答
5
计算表达式 先构造出后缀表达式,再计算后缀表达式
6
计算表达式 题解:代码来了哦
7
计算表达式 题解:
8
计算表达式 题解:非本人编写,但解法很好,值得分享
9
计算表达式 题解:
10
计算表达式 题解: