基本計算器

2021-08-11 20:26:18 字數 2130 閱讀 4874

輸入表示式字串,以

「=」表示結束, 計算並輸出表示式值。 運算元可以是正負整數或實數,操作符有

「+」

「-」

「*」

「/」

「^」(乘方)和

「sin( )」(正弦)、

「cos( )」(余弦)、

「log( )」(對數)、

「ln( )」(自然對數)等函式。

inttransfer(

charc)

void

push_in(

stack

<

char

> &op_s,

vector

<

string

> &res,

charc)

if(c==

')')

op_s.

pop();

return;

} if(

transfer

(c)>

transfer

(op_s.

top())||op_s.

top()==

'(')

if(transfer

(c)<=

transfer

(op_s.

top()))

op_s.

push

(c);

return;

} }

void

show(

stack

<

char

> s)

cout

<<

endl;

} string

setstring(

string

str)

else

s+=str[i];

}returns;

} vector

<

string

> calculate(

string

str)

res.

push_back

(num);

i--;

continue;

} else

if(str[

i]==

's'||str[

i]==

'c')

if(str[

i]==

'n'||str[

i]==

'g')

} }

while

(!operator_s.

empty

())

return

res; }

double

result(

vector

<

string

> &a)

else

if(n[

0]==

'-')

else

if(n[

0]==

'*')

else

if(n[

0]==

'/')

else

if(n[

0]==

'^')

else

if(n[

0]==

's')

else

if(n[

0]==

'c')

else

if(n[

0]==

'g')

else

if(n[

0]==

'n')

} }

return

atof

(s.top

().c_str

()); }

int main()

基本計算器

實現乙個基本的計算器來計算乙個簡單的字串表示式的值。字串表示式可以包含左括號 右括號 加號 減號 非負整數和空格 示例 1 示例2 示例 3 我的媽呀這個題提交了n次終於通過了。沒有想到特殊情況比如輸入是這種 33 或者 33 或者1 33 設定兩個棧,乙個資料棧儲存資料,乙個符號棧儲存符號。當符號...

基本計算器

給你乙個字串表示式 s,請你實現乙個基本計算器來計算並返回它的值。整數除法僅保留整數部分。示例 1 輸入 s 3 2 2 輸出 7示例 2 輸入 s 3 2 輸出 1示例 3 輸入 s 3 5 2 輸出 51 s.length 3 105 s 由整數和算符 組成,中間由一些空格隔開 s 表示乙個 有...

基本計算器

描述 給你乙個字串表示式s,請你實現乙個基本計算器來計算並返回它的值。注意 不允許使用任何將字串作為數學表示式計算的內建函式,比如eval 1 s.length 3 105 s 由數字 和 組成 s 表示乙個有效的表示式 不能用作一元運算 例如,1 和 2 3 無效 可以用作一元運算 即 1 和 2...