C語言棧實現逆波蘭計算器

2021-07-05 03:32:12 字數 861 閱讀 1008

逆波蘭計算器:

輸入所要計算的表示式的逆波蘭式,並進行計算。

如   (1-2)*(4+5)

其逆波蘭式:1  2  -  4  5  +  *

基礎的東西,還是要多敲

如下**中,輸入的格式如:1  2  -  4  5  +  *  #

#include #include #include #define stack_init_size 20

#define stack_increasement 10

#define max_buffer_size 10

typedef double elemtype;

typedef struct sqstack;

void initstack(sqstack *s)

s->top=s->base;

s->stacksize=stack_init_size;

}void push(sqstack *s,elemtype e)

*(s->top)=e;

s->top++;

}void pop(sqstack *s,elemtype *e)

int stacklen(sqstack s)

int isempty(sqstack s)

int main()

scanf("%c",&c);

if(c==' ')

}switch(c)

else

break;

}scanf("%c",&c);

}pop(&s,&d);

printf("\n最終結果為:%f\n",d);

return 0;

}

單棧實現逆波蘭計算器

標頭檔案 define crt secure no warnings include include include include define error 0 define ok 1 define yes 1 define no 0 typedef int status typedef stru...

棧之逆波蘭計算器

逆波蘭表示式又叫做字尾。在通常的表示式中,二元運算子總是置於與之相關的兩個運算物件之間,這種表示法也稱為中綴表示。波蘭邏輯學家j.lukasiewicz於1929年提出了另一種表示表示式的方法,按此方法,每一運算子都置於其運算物件之後,故稱為字尾表示。逆波蘭表示式,它的語法規定,表示式必須以逆波蘭表...

逆波蘭計算器

include include include define stack init size 20 初始化棧的空間 define stackincrement 10 擴充套件空間 define maxbuffer 10 最大緩衝區 typedef double elemtype 建立乙個棧 type...