表示式求值學習筆記

2022-07-06 22:18:18 字數 605 閱讀 4552

算術表示式求值

題目描述

給出運算子只能為+ (加)、-(減)、*(乘)、/(整除)的算術表示式,運算元可以是乙個正整數或者為乙個用括號括起來的算術表示式。

給出乙個算術表示式,求運算結果

輸入樣例

((((7-5+3)+1)*2-10)/2+3)+(2-3)

輸出樣例

考慮用遞迴求解,先求解括號裡面的,再乘除,後加減,進行分治計算

啥也不說,上**,**寫的很詳細了

code:

#includeusing

namespace

std;

char s[1002

];int

l, r;

intsolve()

ch ? ans += k * f * res : ans += k * f /res;

//記得把乘除出來的值加上,前面由於優先順序的原因可能沒算

return

ans;

}int

main()

參考@wjh大神的思路,感謝wjh大佬

表示式求值

程式的說明見清華大學出版社 資料結構 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 ...