已知運算式運算子為 +、-、*、/、^、%,其中 ^ 為指數運算子,即 2^3 = 2*2*2 = 8。% 為餘數運算子,即 10%3 = 1。
括號與 6 個運算子之優先順序如下:
1. ( )
2. ^
3. *, /, %
4. +, -
今寫一程式,輸入一運算式字串,並求出運算式的值。
運算元只有阿拉伯數字之整數,且每個數字範圍 -1000 至 1000。
運算子除了+、-、*、/、^、% 以外,還包括 括號() 及正負號。
所有運算子與運算元總數不超過 100 個。
輸入方式,每個運算元與運算子之間以空白隔開。
運算式若有錯誤,則輸出 Err。
任兩運算元之運算結果不會超出 109。
53 % 3 * 12 ^ ( 30 - 28 )
288
261 - 183 * ( 47 - 5 * 7 ^ ( 4 - 2 ) )
36495
39 * 50 ( 3 - 2)
Err
31 * 9 + 50 / - 3
Err
本題目承接 中序轉前序式(prefix) 或 中序轉後序式(postfix) ,請先完成前面題目,再來做本題。
本題須具備 字串轉數值與數值轉字串 及 分割字串 的基本功。
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」 |