F 簡單計算器 棧

2022-04-11 04:48:15 字數 887 閱讀 9767

description

讀入乙個只包含 +, -, *, / 的非負整數計算表示式,計算該表示式的值。 

input

測試輸入包含若干測試用例,每個測試用例佔一行,每行不超過200個字元,整數和運算子之間用乙個空格分隔。沒有非法表示式。當一行中只有0時輸入結束,相應的結果不要輸出。 

output

對每個測試用例輸出1行,即該表示式的值,精確到小數點後2位。 

sample input

1 + 2

4 + 2 * 5 - 7 / 11

0sample output

3.00

13.36

//難了我很久,後來學習了棧,用乙個棧就很簡單啦。例如4 + 2 * 5 - 7 / 11,把4放入棧,把2*5的值放入棧,把-7/10的值放入棧,最後依次全部取出,計算總和。

1 #include 2 #include 3 #include 4

using

namespace

std;56

intmain()7//

結束18

19double

num2;

20while (cin>>ch)

2134}35

if (ch=='

*'||ch=='/'

)3647}

48if (ch=='/'

)4957} 58}

59}60double ans=0;61

while (!data.empty())

6266 printf("

%.2lf\n

",ans);67}

68return0;

69 }

view code

簡單計算器(棧)

開始複習棧,這個題感覺見得很多,各種各樣的,但是核心思路就是把中綴表示式轉化為字尾表示式,我們老師說這個東西也叫作中序二叉樹轉後序二叉樹。大概實現的方式就是用棧來實現 最開始感覺沒啥思路,因為之前一直都不會這種題 論為什麼我這麼菜,之前沒有好好學過棧,知道了stl中有stack後還是方便很多 第一次...

簡單計算器 STL 棧

讀入乙個只包含 的非負整數計算表示式,計算該表示式的值。input 測試輸入包含若干測試用例,每個測試用例佔一行,每行不超過200個字元,整數和運算子之間用乙個空格分隔。沒有非法表示式。當一行中只有0時輸入結束,相應的結果不要輸出。output 對每個測試用例輸出1行,即該表示式的值,精確到小數點後...

簡單計算器(棧結構)

描述 讀入乙個只包含 的非負整數計算表示式,計算該表示式的值.輸入格式 多case,包含若干個測試用例,每個用例佔一行,每行不超過200個字元,整數和運算子之間用乙個空格分隔。沒有非法表示式。當一行中只有0時輸入結束,相應結果不要輸出.輸出格式 每個測試用例輸出一行,即該表示式的值,精確到小數點後2...