进阶实验3-3.1 求前缀表达式的值 (25分)
进阶实验3-3.1 求前缀表达式的值 (25分) 算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。前缀表达式指二元运算符位于两个运算数之前,例如 2+3*(7-4)+8/4 的前缀表达式是: + + 2 * 3 - 7 4 / 8 4 。请设计程序计算前缀表达式的结果值。 输入格式: 输入在一行内给出不超过30个字符的前缀表达式,只包含 + 、 - 、 * 、 / 以及运算数,不同对象(运算数、运算符号)之间以空格分隔。 输出格式: 输出前缀表达式的运算结果,保留小数点后1位,或错误信息 ERROR 。 输入样例: + + 2 * 3 - 7 4 / 8 4 输出样例: 13.0思路很简单,就是从后往前遍历,用栈维护。主要注意一下怎么字符串转double和int。挂一下大佬博客:http://www.luyixian.cn/news_show_235099.aspx 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<stack> 5 #include<cstdlib> 6 #include<algorithm> 7 using namespace std; 8 const int maxn=50; 9 string c[maxn]; 10 int cnt; 11 stack