h051: 運算式求值
標籤 : 資料結構
通過比率 : 1人/1人 ( 100% ) [非即時]
評分方式:
Tolerant

最近更新 : 2022-08-27 23:59

內容

已知運算式運算子為 +、-、*、/、^、%,其中 ^ 為指數運算子,即 2^3 = 2*2*2 = 8。% 為餘數運算子,即 10%3 = 1。
括號與 6 個運算子之優先順序如下:
1. ( )
2. ^
3. *, /, %
4. +, -

今寫一程式,輸入一運算式字串,並求出運算式的值。

輸入說明

運算元只有阿拉伯數字之整數,且每個數字範圍 -1000 至 1000。
運算子除了+、-、*、/、^、% 以外,還包括 括號() 及正負號。
所有運算子與運算元總數不超過 100 個。
輸入方式,每個運算元與運算子之間以空白隔開。

輸出說明

運算式若有錯誤,則輸出 Err。
任兩運算元之運算結果不會超出 109

範例輸入 #1
53 % 3 * 12 ^ ( 30 - 28 )
範例輸出 #1
288
範例輸入 #2
261 - 183 * ( 47 - 5 * 7 ^ ( 4 - 2 ) )
範例輸出 #2
36495
範例輸入 #3
39 * 50 ( 3 - 2)
範例輸出 #3
Err
範例輸入 #4
31 * 9 + 50 / - 3
範例輸出 #4
Err
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (9%): 1.0s , <1K
公開 測資點#1 (9%): 0.9090909090909091s , <1K
公開 測資點#2 (9%): 0.9090909090909091s , <1K
公開 測資點#3 (9%): 0.9090909090909091s , <1K
公開 測資點#4 (9%): 0.9090909090909091s , <1K
公開 測資點#5 (9%): 0.9090909090909091s , <1K
公開 測資點#6 (9%): 0.9090909090909091s , <1K
公開 測資點#7 (9%): 0.9090909090909091s , <1K
公開 測資點#8 (9%): 0.9090909090909091s , <1K
公開 測資點#9 (9%): 0.9090909090909091s , <1K
公開 測資點#10 (10%): 0.9090909090909091s , <1K
提示 :

本題目承接 中序轉前序式(prefix) 或 中序轉後序式(postfix) ,請先完成前面題目,再來做本題。
本題須具備 字串轉數值與數值轉字串 及 分割字串 的基本功。

標籤:
資料結構
出處:
海青工商選手訓練 [管理者: zero(管理員) ]


編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」