表示式求值

2021-09-25 19:39:40 字數 590 閱讀 4636

今天上課,老師教了小易怎麼計算加法和乘法,乘法的優先順序大於加法,但是如果乙個運算加了括號,那麼它的優先順序是最高的。例如:

1+2*3=7

1*(2+3)=5

1*2*3=6

(1+2)*3=9

現在小易希望你幫他計算給定3個數a,b,c,在它們中間新增」+」, 「*」, 「(「, 「)」符號,能夠獲得的最大值。

一行三個數 \(a,b,c (1 \leq a,b,c \leq 10)\)

能夠獲得的最大值

輸入

1 2 3

輸出9

不考慮括號,對於任意的兩個數都應該滿足 \(max(a + b, a * b)\),才能使最終的值最大

#include #include using namespace std;

double max1(double a, double b)

double max2(double a, double b, double c)

int main()

return 0;

}

表示式求值

程式的說明見清華大學出版社 資料結構 c語言版 include include define stack init size 40 define stackincrement 20 define ok 1 define false 0 typedef structs stack typedef st...

表示式求值

既然是表示式求值,自然需要在記憶體中儲存計算結果以及中間值。在 用c語言寫直譯器 一 中提過 變數要求是若型別,而 c 語言中的 view plaincopy to clipboardprint?in basic io.h define memery size 26 typedef enum var...

表示式求值

寫了乙個下午,各種糾結,各種問,終於搞明白了。但是自己還是想出來的一點東西的。很爽歪歪的,哈哈。先貼第一次的 include include include include include includeusing namespace std char data 7 7 int sign char ...