基於棧的中綴算術表示式求值

2022-06-28 08:12:08 字數 1201 閱讀 8391

#include#include

#include

#include

using

namespace

std;

typedef

struct stacknode *lstack;

/*兩個棧,乙個是字元,乙個是數字,

先判斷是什麼字元,然後呼叫不同的函式

*/typedef

struct

data ;

struct

stacknode ;

double function(double a, double b, char

op)char judge(char a, char

b)void initstack(lstack &s)

void creat1(lstack &s, double a)//

數字void creat2(lstack &s, char a)//

opvoid pop(lstack &s)

double gettop1(lstack &s)//

number取棧頂元素

char gettop2(lstack &s)//

opint

main()

}else

if (c[i] == '.'

)

else

else

y = x * 1.0

; creat1(s1, y);

x = 0

; e = 0

; flag = 0

; }

while (1

)

else

if (judge(gettop2(s2), c[i]) == '

>')

else}}

}cout

<< setiosflags(ios::fixed) << setprecision(2

); cout

<< s1->data.number <}

return0;

}

有一些不明白的:有小數點的部分沒看明白呢。。

基於棧的中綴算術表示式求值

實驗目的 1.掌握棧的基本操作演算法的實現,包括棧初始化 進棧 出棧 取棧頂元素等。2.掌握利用棧實現中綴表示式求值的演算法。實驗內容 問題描述 輸入乙個中綴算術表示式,求解表示式的值。運算子包括 參加運算的數為 double型別且為正數。要求 直接使用中綴算術表示式進行計算,不能轉換為字尾或字首表...

算術中綴表示式求值(棧實現)

問題描述 輸入由整型分量和操作符組成的中綴表示式,輸出其字尾表示式和運算的結果。整型分量 十進位制數。操作符 如輸入3 5 8 2 7,輸出 3 5 8 2 7 結果是10 輸入3 1 4 7 3 輸出 3 1 4 7 3 結果是 18.75 輸入3 4 5 5 7 4,輸出 3 4 5 5 7 4...

基於棧的字尾算術表示式求值

這是乙個菜雞的19秋季學期資料結構實驗課 基於棧的字尾算術表示式求值 實驗目的 1.掌握中綴表示式轉換為字尾表示式的演算法。2.掌握字尾表示式求值的演算法。實驗內容 問題描述 輸入乙個中綴算術表示式,將其轉換為字尾表示式,然後對字尾表示式進行求值。運算子包括 參與運算的為小於10的自然數 只考慮二元...