解題觀念:
題目意思簡單來說,就是要將句子的雙引號改成其他符號。
前雙引號要改成 「 ˋˋ」 ;後雙引號改成「 ' ' 」。
(*建議直接複製題目格是比較不會出錯。)
所以這題的重點在於,如何判斷是前雙引號還是後雙引號。
將第一次出現的雙引號標示為1,第二次出現的雙引號標示為0,之後去判斷現在為1還是0之後再印出。
寫出這個判斷式,這題基本上就結束了。(見解題步驟)
解題步驟:
設定一變數count的值為1,等等要用在判斷是否為前雙引號的條件。
使用者輸入字串這不用再多說,之後設定for迴圈,用來抓取字元判斷是否為雙引號。
如果是雙引號,再進入判斷式,判斷count是否等於1(剛剛已在前面設定),是的話則將雙引號改成「ˋˋ」,
之後將再用1-count,使count的值變為0,下次再進入判斷式時,就知道這個雙引號為後雙引號,則會印出「 ' ' 」。
(*註:為甚麼要用1-count而不是用count-1??
因為當count=0,遇到1-0才會等於1,如果用count-1,會變成0-1=-1,而造成判斷失誤!!)
遇到不是雙引號的字母,則不改變照原樣印出。
EX:
"To be or not to be," quoth the Bard, "that is the question."
進入for迴圈抓取第一個字元,為雙引號,
再進入判斷式count是否等於1,符合,判斷為前雙引號,改為「 ˋˋ 」。
這時候的count值為0。(count=1-1=0)
之後繼續抓取字元,字母為原樣印出,抓取到第二十一個字元,為雙引號,
再進入判斷式count是否等於1,不符合,判斷為後雙引號,改為「 ' ' 」。
(後面以此類推)
BY 小K
沒有留言:
張貼留言