复制
收藏
提问
全网

#include<bits/stdc++.h> using namespace std; int main(){ int pop=0,a[250]={0}; int x; string s; cin>>s; int len=-1; while(1){ len++; if(s[len]>='0'&&s[len]<='9'){ a[pop]=a[pop]*10+(int)(s[len]-'0'); } else if(s[len]=='+'){ pop--; a[pop-1]=a[pop-1]+a[pop]; } else if(s[len]=='-'){ pop--; a[pop-1]=a[pop-1]-a[pop]; } else if(s[len]=='*'){ pop--; a[pop-1]=a[pop-1]*a[pop]; } else if(s[len]=='/'){ pop--; a[pop-1]=a[pop-1]/a[pop]; } else if(s[len]==' '){ pop++; } else{ break; } } cout<<a[0]; return 0; }

cfdcf4885
1个月前
全网
文档
学术
百科
知识库
时间不限
自动

理解问题#include<bits/stdc++.h> using namespace std; int main(){ int pop=0,a[250]={0}; int x; string s; cin>>s; int len=-1; while(1){ len++; if(s[len]>='0'&&s[len]<='9'){ a[pop]=a[pop]*10+(int)(s[len]-'0'); } else if(s[len]=='+'){ pop--; a[pop-1]=a[pop-1]+a[pop]; } else if(s[len]=='-'){ pop--; a[pop-1]=a[pop-1]-a[pop]; } else if(s[len]=='*'){ pop--; a[pop-1]=a[pop-1]*a[pop]; } else if(s[len]=='/'){ pop--; a[pop-1]=a[pop-1]/a[pop]; } else if(s[len]==' '){ pop++; } else{ break; } } cout<<a[0]; return 0; }

已完成理解#include<bits/stdc++.h> using namespace std; int main(){ int pop=0,a[250]={0}; int x; string s; cin>>s; int len=-1; while(1){ len++; if(s[len]>='0'&&s[len]<='9'){ a[pop]=a[pop]*10+(int)(s[len]-'0'); } else if(s[len]=='+'){ pop--; a[pop-1]=a[pop-1]+a[pop]; } else if(s[len]=='-'){ pop--; a[pop-1]=a[pop-1]-a[pop]; } else if(s[len]=='*'){ pop--; a[pop-1]=a[pop-1]*a[pop]; } else if(s[len]=='/'){ pop--; a[pop-1]=a[pop-1]/a[pop]; } else if(s[len]==' '){ pop++; } else{ break; } } cout<<a[0]; return 0; }

展开阅读网页

字数已消耗完,充值VIP立即查看

用简洁模式回答

更简洁一些
转笔记
简洁
#include<bits/stdc++.h> using namespace std; int main(){ int pop=0,a[250]={0}; int x; string s; cin>>s; int len=-1; while(1){ len++; if(s[len]>='0'&&s[len]<='9'){ a[pop]=a[pop]*10+(int)(s[len]-'0'); } else if(s[len]=='+'){ pop--; a[pop-1]=a[pop-1]+a[pop]; } else if(s[len]=='-'){ pop--; a[pop-1]=a[pop-1]-a[pop]; } else if(s[len]=='*'){ pop--; a[pop-1]=a[pop-1]*a[pop]; } else if(s[len]=='/'){ pop--; a[pop-1]=a[pop-1]/a[pop]; } else if(s[len]==' '){ pop++; } else{ break; } } cout<<a[0]; return 0; }
知识树
#include<bits/stdc++.h> using namespace std; int main(){ int pop=0,a[250]={0}; int x; string s; cin>>s; int len=-1; while(1){ len++; if(s[len]>='0'&&s[len]<='9'){ a[pop]=a[pop]*10+(int)(s[len]-'0'); } else if(s[len]=='+'){ pop--; a[pop-1]=a[pop-1]+a[pop]; } else if(s[len]=='-'){ pop--; a[pop-1]=a[pop-1]-a[pop]; } else if(s[len]=='*'){ pop--; a[pop-1]=a[pop-1]*a[pop]; } else if(s[len]=='/'){ pop--; a[pop-1]=a[pop-1]/a[pop]; } else if(s[len]==' '){ pop++; } else{ break; } } cout<<a[0]; return 0; }
如何优化字符串表达式求值算法?
字符串表达式求值中如何处理括号?
如何实现支持更多运算符的字符串表达式求值?

以上内容由AI搜集生成,仅供参考

在线客服