開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Codeblock
問題(Question):
題目: 寫一個程式計算給定日期為星期幾。輸入會先告訴程式某年的 1 月 1 號為星期幾,例如
範例中 2012 年的 1 月 1 號為星期日。接著程式會收到一些日期,並要計算出給定日期
為星期幾,例如範例中程式將會收到 11 月 13 號,並計算出該日期為星期二。
輸入格式
第一行包含一個西元年以及該年的一月一日為星期幾,如範例中 2012 0。注意,0 代表
星期日,1 代表星期一,以此類推。第二行會告訴程式接下來將有 n 組日期需要計算。
n 的範圍為 1 至 10。接下來的 n 行,每一行將會有一組需要計算的日期(月、日),如
範例中的 11 月 13 號。若輸入的「月」有誤請輸出 -1;若輸入的「日」有誤請輸出 -2
。
輸出格式
共會輸出 n 個數字。我們用 0 代表星期日,1 代表星期一,以此類推。若輸入的「月」
有誤請輸出 -1;若輸入的 「月」無誤但「日」有誤請輸出 -2。(數字間留一個空白)
我已經成功寫出可以算出正確答案的程式了
想要寫得更好 我覺得我的程式架構好像有點龐大...不知道該怎麼精簡
想請問比較資深的前輩有什麼意見
或是類似的問題有其他解法
用這個程式去跑題目給的各種數字答案都對所以內容應該是沒問題
只剩下把程式本身寫得更完美了
程式碼(Code):(請善用置底文網頁, 記得排版) http://ideone.com/Sd8rGs
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 66.86.130.129
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1467403580.A.FCE.html
※ 編輯: nikuman (66.86.130.129), 07/02/2016 09:35:54
→
07/02 10:04, , 1F
07/02 10:04, 1F
→
07/02 11:21, , 2F
07/02 11:21, 2F
→
07/02 11:22, , 3F
07/02 11:22, 3F
→
07/02 11:23, , 4F
07/02 11:23, 4F
→
07/02 11:43, , 5F
07/02 11:43, 5F
→
07/02 11:44, , 6F
07/02 11:44, 6F
→
07/02 11:55, , 7F
07/02 11:55, 7F
→
07/02 11:56, , 8F
07/02 11:56, 8F
→
07/02 17:27, , 9F
07/02 17:27, 9F
→
07/02 17:30, , 10F
07/02 17:30, 10F
不好意思我不太懂為什麼把閏年最後處理會讓switch-case清晰
這是對電腦來說還是對看程式碼的人來說呢
推
07/03 14:31, , 11F
07/03 14:31, 11F
推
07/03 21:51, , 12F
07/03 21:51, 12F
推
07/04 00:05, , 13F
07/04 00:05, 13F
→
07/04 00:05, , 14F
07/04 00:05, 14F
→
07/04 06:27, , 15F
07/04 06:27, 15F
這個好精簡!
感謝分享
※ 編輯: nikuman (66.86.130.129), 07/04/2016 07:13:08