棧之一般表示式轉換成字尾式

2021-07-15 20:31:03 字數 794 閱讀 5080

對於乙個基於二元運算子的算術表示式,轉換為對應的字尾式,並輸出之。

輸入乙個算術表示式,以『#』字元作為結束標誌。

輸出該表示式轉換所得到的字尾式。

a*b+(c-d/e)*f#

ab*cde/-f*+

#include

#include

#include

#define maxsize 10000

#define sizenum 10000

typedef char element;

typedef struct

sq;int intistack(sq*l)

int panduan(char *a)

int empty(sq*l)

int push(sq*l,char *a)

*(++l->top)=*a;

return 0;

}int  chuli(sq*l,char s)

l->top--;

continue;

}else if(panduan(&s[i])>panduan(l->top))//不是右括號則判斷優先順序

else if(panduan(&s[i])<=panduan(l->top))//優先順序小的分兩種情況

push(l,&s[i]);

}else//棧頂為左括號直接入棧}}

}while(l->top!=l->base)

printf("%c",*(l->top--));

return 0;

}int main()

一般算術表示式轉換成字尾式

time limit 1000ms memory limit 65536k 有疑問?點這裡 對於乙個基於二元運算子的算術表示式,轉換為對應的字尾式,並輸出之。輸入乙個算術表示式,以 字元作為結束標誌。輸出該表示式轉換所得到的字尾式。a b c d e f ab cde f includeusing ...

中綴表示式轉換成字尾表示式 棧

字尾表示式嚴格按照從左到右進行計算的模式,符合計算機執行方式,而中綴表示式需要計算機遇到符號後向後掃瞄一位,若為括號或優先順序更高的操作符還需要向後繼續掃瞄。設我們欲將中綴表示式 a b c d e f g轉換成字尾表示式,正確的答案為 abc de f g 當我們讀入運算元的時候,立即將其放入到輸...

中綴表示式轉換成字尾表示式

一 基礎知識 中綴表示式 人們常用的表示式就叫做中綴表示式,如a b c d 字尾表示式 又叫做逆波蘭表示式,由一名波蘭數學家提出,方便進棧操作 字尾表示式也叫逆波蘭表示式,其求值過程可以用到棧來輔助儲存。假定待求值的字尾表示式為 6 5 2 3 8 3 則其求值過程如下 1 遍歷表示式,遇到的數字...