實現四則運算

2021-10-21 21:03:05 字數 555 閱讀 5154

總結最近在看資料結構,遇到第乙個實際棧的應用,記錄

將平時的四則運算表示式又稱為中綴表示式轉化為字尾表示式。

遇數字輸出,遇符號進棧,符號優先順序低於棧當前符號則輸出,輸出直到同等優先順序符號。

例:9+(3-1)*2

輸出 棧

9 … +(in)

9 … + ((in)

9 3 … + (

9 3 … + ( -(in)

9 3 1 … + ( -

9 3 1 … + ( - )(in) 【右括號進棧,則輸出-,變成 9 3 1 -】

9 3 1 - … + *(in)

9 3 1 - 2 … + * 【此時數字全部結束,則符號全部出棧,按照棧的特性,最後結果是9 3 1 - 2 * +】

9 3 1 - 2 * +

數字全部進棧,遇到符號,則將棧頂兩元素出棧進行運算

9 3 1進棧,-進棧,則將3 1進行-運算,得2,則為9 2,繼續2入棧 9 2 2,入棧,22=4,則得 9 4 +,最後結果為13。

轉化時運用棧進出運算的符號;計算時運用棧進出運算的數字。

python四則運算程式 四則運算(Python)

四則運算程式 一 資訊 二.題目要求 寫乙個能自動生成小學四則運算題目的程式,然後在此基礎上擴充套件 除了整數以外,還要支援真分數的四則運算,例如 1 6 1 8 7 24 程式要求能處理使用者的輸入,判斷對錯,累積分數 程式支援可以由使用者自行選擇加 減 乘 除運算 三 import random...

四則運算的實現

繼續溫習資料結構.實現用到了兩個棧 運算元棧與操作符棧。主要過程是將中序表示式轉換為後續表示式,然後按順序進行運算。簡單過程 1 8 7 中序 1 8 7 後序 1 1 運算8 7 2 運算1 1 原始碼 include stack.h 利用到了前一篇文章實現的棧 define size 256 d...

java實現四則運算

最近在考慮乙個問題 公司專案可能會使用運算模板來計算相應的值,模板freemarker velocity都是不錯的選擇。那通過模板將計算公式字串組裝出來後,就需要解析字串得到計算結果,以下是我的實現 public class arithmetic public static void main st...