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

2021-07-03 08:06:27 字數 853 閱讀 2553

time limit: 1000ms   memory limit: 65536k  有疑問?點這裡^_^

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

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

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

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

ab*cde/-f*+

#includeusing namespace std;

char op[10000];

char s[2000];

int judge(char c)

int main()

if(top==0)

if(judge(op[top])>=judge(s[i]))

op[++top]=s[i];

i++;

}else

else

op[++top]=s[i];

i++;}}

while(top)

printf("%c",op[top--]);

//  printf("=\n");}}

return 0;

}

/*1 將中綴表示式轉換為字尾表示式的演算法思想:

2    ·當讀到數字直接送至輸出佇列中

3    ·當讀到運算子t時,

4       a.將棧中所有優先順序高於或等於t的運算子彈出,送到輸出佇列中;

5       b.t進棧

6    ·讀到左括號時總是將它壓入棧中

7    ·讀到右括號時,將靠近棧頂的左括號裡面的運算子全部出棧,再丟棄左括號。 */

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

對於乙個基於二元運算子的算術表示式,轉換為對應的字尾式,並輸出之。輸入乙個算術表示式,以 字元作為結束標誌。輸出該表示式轉換所得到的字尾式。a b c d e f ab cde f include include include define maxsize 10000 define sizenum...

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

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

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

中綴表示式轉字尾表示式 思路 三個方法 將中綴表示式轉換成 中綴表示式對應的 list 自定義運算子優先順序 將中綴表示式對應的 list 轉換成 字尾表示式.1.1 使用 list 更好的和 stack 配合,list 比 字串的遍歷更加靈活.將中綴表示式對應的 list 轉換成 字尾表示式 2....