字首,字尾表示式求值

2022-03-22 11:38:56 字數 784 閱讀 5834

字首表示式

從右至左掃瞄表示式,遇到數字時,將數字壓入堆疊,遇到運算子時,彈出棧頂的兩個數,用運算子對它們做相應的計算(棧頂元素 op 次頂元素),並將結果入棧;重複上述過程直到表示式最左端,最後運算得出的值即為表示式的結果

從右至左,遇數壓1,遇符彈2,再來計算。

字尾表示式

從左至右掃瞄表示式,遇到數字時,將數字壓入堆疊,遇到運算子時,彈出棧頂的兩個數,用運算子對它們做相應的計算(棧頂元素 op 次頂元素),並將結果入棧;重複上述過程直到表示式最左端,最後運算得出的值即為表示式的結果

從左至右,遇數壓1,遇符彈2,再來計算。

例題

#include #include 

#include

using

namespace

std;

int a[1005

],p,top,t;

char

c;int

main()

if(c=='+'

)

if(c=='-'

)

if(c=='*'

)

if(c=='/'

)

}cout

}

注意事項:

1.有除法,並且就按c++裡的整除運算

2.getchar()在cstdio裡面

字首 中綴 字尾表示式及其求值

它們都是對表示式的記法,因此也被稱為字首記法 中綴記法和字尾記法。它們之間的區別在於運算子相對與運算元的位置不同 字首表示式的運算子位於與其相關的運算元之前 中綴和字尾同理。比如 4 5 6 7 就是中綴表示式 4567 字首表示式 45 6 7 字尾表示式 中綴表示式 中綴記法 中綴表示式是一種通...

字首表示式求值

思路 這裡實際是把字首表示式逆序輸出轉化為類似後序表示式求值 比如 輸入 2 3 7 4 8 4 處理成 4 8 4 7 3 2 鍊錶,放到字尾表示式求值程式 postfixeval計算得13.0 include include include include define maxsize 100 ...

字首表示式求值

include using namespace std stackst double yunsuan double a,double b,string c else if c else if c else int main for int j i 1 j 0 j if st.empty if f1 ...