PAT3-07. 求前缀表达式的值
来源:互联网 发布:知乎素食主义 编辑:程序博客网 时间:2024/04/28 18:11
#include<stack>#include<iostream>#include<string>using namespace std;stack<double>st;string s;int i;void getnumber(){ int j=i; while(j>=0&&s[j]!=' ')--j; st.push(stod(s.substr(j+1,i-j))); i=j;}bool f(double a,char c,double b,double &d){ switch(c){ case '+':d=a+b;break; case '-':d=a-b;break; case '*':d=a*b;break; case '/': if(b==0)return false; else d=a/b; } return true;}int main(){ bool fail=false; getline(cin,s);i=s.size()-1; while(i>=0){ if(s[i]==' ')--i; else if(s[i]>='0'&&s[i]<='9') getnumber(); else{ double a=st.top();st.pop(); double b=st.top();st.pop(); double d; if(!f(a,s[i--],b,d)) {cout<<"ERROR";fail=true; } else st.push(d); } } if(!fail)printf("%.1lf",st.top()); return 0;}前缀式比后缀式的优点是没有符号栈,只有数字栈,从后往前扫描,每个数字入栈,每找到一个符号就计算一次
0 0
- PAT3-07. 求前缀表达式的值
- 求前缀表达式的值
- 求前缀表达式的值
- 求前缀表达式的值
- 3-07. 求前缀表达式的值(25)
- 3-07. 求前缀表达式的值(25)
- 利用栈求前缀表达式的值
- 怎么求前缀表达式的值?
- PAT 求前缀表达式的值
- pat 求前缀表达式的值
- [数据结构]--PTA求前缀表达式的值
- PAT3-07中缀表达式 strtok_r()的使用
- PAT1023. 求前缀表达式的值(25)
- 02-3. 求前缀表达式的值(25)
- PAT 02-3. 求前缀表达式的值(25)
- 数据结构课设 求前缀表达式的值
- 5-21 求前缀表达式的值 (25分)
- PTA 求前缀表达式的值 (25分)
- 理想电感,非理想电感
- Discuz二次开发基本知识总结
- Scheme学习
- 舞动键盘,敲起我的第一篇博客
- sql语句之字符串匹配like
- PAT3-07. 求前缀表达式的值
- Hadoop Streaming如何传文件夹到集群
- 如何在Unit Test结果报告中加入分类报告。
- hdu-4605-Magic Ball Game-线段树+离线操作
- IOS开发错误
- 白璐:黄海波嫖娼:女主角是双性人还是变性人?
- LeetCode: Word Search [079]
- 张宏民告别《新闻联播》为何一声叹息
- River Hopscotch - POJ 3258 二分