hud1237 簡單計算器

2022-09-07 13:30:07 字數 1115 閱讀 7930

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

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

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

sample input

1 + 2

4 + 2 * 5 - 7 / 11

0

sample output

3.00

13.36

輸入對我來說是個難點 - -!,get char 判斷只輸入乙個數的情況,把算出來的數放進陣列,加減直接放在後一位,乘除在前一位的基礎上進行運算,且存放在前一位的位置,這樣就可以做到先乘除後加減。

1 #include2

using

namespace

std;

3 #include

4 #include5 #include6 #include

7 #include

8 #include9 #include10

intmain()

1127

}28 a[0]=s;

29int i=0;30

while(scanf("

%c %lf%c

",&b,&c,&d))

3136

else

if(b=='-'

)3740else

if(b=='*'

)4144else

if(b=='/'

)4548if(d!='')

49break;50

}51double sum=0;52

for(int k=0;k<=i;k++)

53 sum+=a[k];

54 printf("

%.2lf\n

",sum);

5556}57

return0;

58 }

hdu1237 簡單計算器

模擬棧運算,其實遞迴也可以,不過我夠嗆能寫的出來 其實老早就看過表示式求值的問題,只不過一直沒有敲過,今天敲了一下,發現還是有不少問題的 code include include include using namespace std bool check char,char void solve ...

hdu 1237 簡單計算器

模擬棧。設兩個陣列,乙個裝運算元,乙個裝操作符。根據優先順序,先乘除,後加減。include include include include char s 210 op 200 s1 200 double a 200 int char num char s1,int n 字串轉化成int型數 ret...

HDU1237 簡單計算器

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