//
引用標頭檔案
#include
#include
#include
using namespace std;
typedef int elemtype;
const int stack_init_size=100; //
儲存空間的初始化分配量
const int stackincrement=10;//
儲存空間分配增量
typedef struct stack; //
函式宣告
int ifemptystack(stack s);
void initstack(stack &s);
void emptystack(stack &s);
void push(stack &s, elemtype e);
void pop(stack &s, elemtype &e);
void showstack(stack s);
//宣告定義變數
int in(char ch);
char precede(char a, char b);
int operate(int a, char f, int b);
int ifemptystack(stack s)
void initstack(stack &s)
void emptystack(stack &s)
void push(stack &s, elemtype e) *s.top++=e;return ;}
void pop(stack &s, elemtype &e)
elemtype gettop(stack &s)
void showstack(stack s)
int in(char ch)
return res;}
char precede(char a, char b),,,
,,,};
switch(a)switch(b)//棧頂元素優先順序
if(form[i][j]==1)return '>';
else if(form[i][j])return '<';
elsereturn '=';}
int operate(int a, char f, int b)return 0;}
void evaluateexpression()while(c>='0'&&c<='9');
d[i]='/0'; num=atoi(d);
push(opnd, num);}else if(in(c))}}
c=getchar();//
接收最後輸入的乙個回車符!!!否則在主函式中只能輸入一次...
cout<<"
所求表示式的值為:";showstack(opnd);cout《主函式
int main(){
cout<<"
輸入@結束操作!";
cout<<"
請輸入表示式,以=結束求值:"<
while(1){evaluateexpression();
cout<
cout<<"
請再輸入表示式,以=結束求值:"<
算術表示式
include include include include define maxzhansize 30 char stack maxzhansize char deleted int top void add int top,char item 逆波蘭數計算 define element int...
棧 算術表示式
將乙個算術表示式 即中綴形式 轉化成其字尾形式,並算出答案。include include include include include include using namespace std using namespace std bool isoperator char ch return f...
解析算術表示式
現有字串形式的算術表示式,求計算其值。string str1 2000 600 3 300 2 string str2 2000 600.389895334 2 300 2 6 100 求解方法如下 讀取公式,返回結果。param express 算術公式 return 結果字串 保留兩位小數 pu...