Codeup 602 問題 A 簡單計算器

2021-10-07 14:52:00 字數 1216 閱讀 8002

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

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

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

30/90

-26+97

-5-6

-13/88

*6+51

/29+79

*87+57

*920

12178.21
思路:先將輸入的字串做去空格處理,然後將其轉換為字尾表示式,最後計算這個表示式即可。

#include

#include

#include

#include

#include

#include

#include

using

namespace std;

struct node

;string str;

//輸入的字串

stack s;

//定義乙個棧,用於處理操作符以及後續做計算處理

queue q;

//定義乙個佇列,用於存放字尾表示式

map<

char

,int

> mp;

//操作符的優先順序

void

change()

else

temp.op=str[i++];

s.push

(temp)

;//把操作符入棧}}

while

(!s.

empty()

)}double

cal()}

return s.

top(

).num;

//此時棧中只有唯一的元素,該元素即是計算後的結果

}int

main()

while

(!s.

empty()

) s.

pop();

//初始化棧

change()

;printf

("%.2lf\n"

,cal()

);}return0;

}

Codeup 605 問題 A 簡單計算器

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

codeup 模擬加減乘除 問題 A 簡單計算器

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

codeup1918簡單計算器

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