算術表示式

2021-05-22 18:18:41 字數 1585 閱讀 2711

//

引用標頭檔案

#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...