→ game0416:三小時才發現12345又忘記砍Orz 11/15 16:33
※ 編輯: game0416 來自: 220.130.128.171 (11/15 16:34)
※ 編輯: game0416 來自: 120.127.47.30 (11/25 17:02)
雖然還沒寫完,不過應該夠寫教學串了(?)
理解整體以後發現沒想像難寫,只是最近精神實在集中不起來-___-a
感覺上蠻多評分要求會讓人誤判難度跟引導到奇怪的方向
在正文開始之前,先來提醒一下禮拜四要報告一下想做什麼
記得是ppt三四頁簡介一下目標跟技術困難就好
然後附帶提醒,沒有去系辦作服務課程的記得要去補作
這次作業的繳交期限也有往後延了這樣
--
在開始,什麼都不要管的先複習一下演算法長怎樣
1.讀入運算子就丟進堆疊比大小,大於等於堆疊最上方運算子就把其pop出去,其餘就push
2.讀到運算元無條件輸出
3.左括號無條件push,右括號無條件pop至左括號
看完這段演算法,回頭看一下一般的運算式長成
4-8.0+6/2+9*1
後序結果是48.0-62/+91*+
--
嗯....不意外的,讀入運算式還是得用string型態
因為要逐個字元讀入,上次用過的toCharArray()在這次依然是必要
然後也需要另外一個char array作堆疊使用
然後....這樣就夠做完這作業拿80了
這樣講有點籠統,慢慢來講一下為什麼
因為
1.運算元直接輸出,換句話說,不管是啥,
只要讀到不是運算子的直接print出來然後讀下一個字元,到最後輸出的東西就是了
小數點也不用太在意,反正後序生出來的東西小數點也不會動,這個項目比較像嚇人(?)
2.支援括號其實就只有針對堆疊部份作更多處理,也不需要另外讀些什麼資料
3.負號的部份,依照範例輸入來看,會有額外括號包裹,
所以做完括號就不用另外對負號作判斷
: 對不起我問了蠢問題 Orz
--
這是為什麼前面那個範例故意擠一個小數點進去的理由
讓你看一下小數點不變位(?)
啊....這作業寫不下去什麼東西教學Orz
附個測資表示一下,順便湊頁數Q
1*2+3-4+9/3
12*3+4-93/+
1+2*3/(4-5)+6
123*45-/+6+
1*(2+3)-4+9/3
123+*4-93/+
--
紅白本命
○楽園の巫女
博麗 霊夢 職業:博麗神社の巫女さん
Hakurei Reimu 能力:主に空を飛ぶ程度の能力
@東方project系列
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.130.128.171
※ 編輯: game0416 來自: 220.130.128.171 (11/15 16:33)