c語(yǔ)言編程計(jì)算器 C語(yǔ)言,計(jì)算器中的括號(hào)怎么做?
C語(yǔ)言,計(jì)算器中的括號(hào)怎么做?堆棧實(shí)現(xiàn)。帶有多個(gè)方括號(hào)的中綴表達(dá)式被轉(zhuǎn)換為后綴表達(dá)式,然后進(jìn)行求值。步驟如下:從左到右檢查每個(gè)字符1。如果字符是數(shù)字,直接添加到輸出隊(duì)列中2。如果字符是左括號(hào)(,則將其
C語(yǔ)言,計(jì)算器中的括號(hào)怎么做?
堆棧實(shí)現(xiàn)。帶有多個(gè)方括號(hào)的中綴表達(dá)式被轉(zhuǎn)換為后綴表達(dá)式,然后進(jìn)行求值。步驟如下:
從左到右檢查每個(gè)字符
1。如果字符是數(shù)字,直接添加到輸出隊(duì)列中
2。如果字符是左括號(hào)(,則將其添加到堆棧中
3。如果字符是右括號(hào)),則開(kāi)始退出堆棧,依次將堆棧中的元素添加到輸出隊(duì)列,直到遇到左括號(hào)“()。左括號(hào)本身沒(méi)有排隊(duì)。如果堆棧中沒(méi)有左括號(hào),則返回匹配錯(cuò)誤。
4. 如果字符是非括號(hào)運(yùn)算符,請(qǐng)將字符的優(yōu)先級(jí)與堆棧元素的頂部進(jìn)行比較。如果優(yōu)先級(jí)高于堆棧的頂部,它將被放在堆棧上,否則它將被添加到輸出隊(duì)列中。
檢查完所有表達(dá)式后,堆棧中的所有剩余元素將添加到輸出隊(duì)列中。如果堆棧包含括號(hào),則返回匹配錯(cuò)誤。
最終輸出隊(duì)列是后綴表達(dá)式。