#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的自然數 只考慮二元...