計算器簡單分析

2021-08-13 18:51:53 字數 482 閱讀 2532

例如給出乙個計算公式:2-3*4+5

其中2、3、4、5屬於運算元;-、*、+屬於操作符。考慮到操作符的優先順序,當我們讀取這個公式時,需要將其重新寫成計算機可以讀取的形式,如234*-5+(遇見乙個操作符號,就將符號前面緊挨著的兩個元素進行運算)如圖:

如果是直接針對2-3*4+5,在這裡需要兩個棧s1和s2,遇見運算元則將其入棧s1,遇到操作符則將其入棧s2,同時要注意,當棧s2不為空時,即將入棧的操作符的優先順序如果低於棧頂的操作符的優先順序,那麼就將棧s2的棧頂操作符拿來運算,運算時,該操作符右邊的數則為棧s1的棧頂元素,左邊的數則為棧s1的棧頂元素的下乙個元素,它們的計算結果則入棧s1,繼續如此進行運算直到結束。作圖如下:

簡單計算器

unit unit1 inte ce uses windows,messages,sysutils,variants,classes,graphics,controls,forms,dialogs,stdctrls,buttons,math math是數 算單元 type tform1 class ...

簡單計算器

a 簡單計算器 crawling in process.crawling failed time limit 1000msmemory limit 32768kb64bit io format i64d i64u submit status description 讀入乙個只包含 的非負整數計算表示...

簡單計算器

問題描述 乙個最簡單的計算器,支援 四種運算。僅需考慮輸入輸出為整數的情況,資料和運算結果不會超過int表示的範圍。輸入 輸入只有一行,共有三個引數,其中第1 2個引數為整數,第3個引數為操作符 輸出 輸出只有一行,乙個整數,為運算結果。然而 1.如果出現除數為0的情況,則輸出 divided by...