計算數學表示式的值。 輸入數學表示式,輸出表示式的計算結果。數學表示式由單個數字和運算子+、-、、/、(、)構成,
例如 2+3(4+5)–6/4。
#include
#include
#include
#include
using
namespace std;
double result;
int tag;
template
<
class
t>
class
arraystack
bool
empty()
const
intsize()
const
t&top(
)void
pop(
)// t的析構
void
push
(const t& theelement)
private
:int stacktop;
// 當前棧頂
int arraylength;
// 棧容量
t *stack;
// 元素陣列
};
template
<
class
t>
//建構函式
arraystack
::arraystack()
arraystack<
double
> num;
//數字
arraystack<
char
> sign;
//運算子
intpriority
(char a)
bool
judge
(char e)
//判斷是運算子還是數字
return judge;
}void
pop_caculate()
void
caculate
(string expr)
//計算函式
num.
push
(n);
i++; tag=1;
}else
else
if(expr[i]
=='('
)else
if(expr[i]
==')'
) sign.
pop();
if(sign.
top()==
'-')
}elseif(
priority
(expr[i]
)<=
priority
(sign.
top())
)else sign.
push
(expr[i]);
++i;}}
while
(!sign.
empty()
) result=num.
top();
//cout("%.2f"
,result)
; cout<}
int
main()
}
棧 簡易計算器
題目描述 讀入乙個只包含 的非負整數計算表示式,計算該表示式的值。輸入 測試輸入包含若干測試用例,每個測試用例佔一行,每行不超過200個字元,整數和運算子之間用乙個空格分隔。沒有非法表示式。當一行中只有0時輸入結束,相應的結果不要輸出。輸出 對每個測試用例輸出1行,即該表示式的值,精確到小數點後2位...
利用棧實現簡易計算器
輸入數學表示式,輸出結果。其中符號支援加減乘除 乘方及括號,數字支援小數及負數。開兩個陣列,乙個陣列為符號棧,乙個陣列為數字棧。字串讀入表示式並逐位處理,有數字就擷取下來存入數字棧,運算符號截下來存入符號棧,若發現當前符號優先順序小於等於前乙個符號的優先順序,就要把前面那部分的值計算出來,例如3 2...
實現簡易計算器
python 剛學python 老師帶著寫了乙個計算器。話不多說直接上 from tkinter import 匯入模組 top tk 設定視窗物件 top.title 計算器 設定視窗標題 v strin ar 接受使用者輸入的字元 v.set 0 設定字元預設值 isopera false 是否...