總網頁瀏覽量

2018年6月12日 星期二

105學年度彰雲嘉區資訊能力競賽複賽程式設計題Q6(電腦算術運算)(未完成)


某電腦將算術運算的格式安排為 (第一運算元,第二運算元,運算子),其中運算子包含了”+”、”-“、”*”、”/”四種;而兩個運算元則必須是0或正整數(若運算子為除法”/”,則第二運算元不可為0)。寫一個程式,能辨識這樣的格式並輸出正確的運算結果(本題輸出不需考慮浮點數,假設除法運算皆可剛好整除)

輸入說明
輸入第一行為一個整數 n,表示接下來會有n組測試資料。
接下來有 n 行,每行是由多個運算子及運算元組成的算術運算式運算子及運算元間皆以一個半形逗號區隔

輸出說明
輸出每個測試資料的運算結果,每個測試資料輸出一行若格式錯誤或是不合法的運算元則輸出-1

範例1輸入:
2
((3,5,*),((2,4,*),6,-),+)
((3,0,*),((2,4.5,*),6,-),+)
範例1輸出:
17
-1

範例2輸入:
2
(8,((1,1,+),(2,2,*),*),/)
(5,(1,1,+),(1,1,-),/)
範例2輸出:
1
-1

😭 將輸入的符號及數字以串列儲存,再新增一串列將逗點刪
     掉,利用for-loop讀取,遇到 「+」、「-」、「*」、
   「/」,進行運算,結果存入原串列,但問題是~~~
      這個做法只能run一次,能否變成遞迴方式呈現,跑到結
    果出來,用while~~再想想??

沒有留言:

張貼留言