#22907: 拋磚引玉的解題說明


snakeneedy (蛇~Snake)

學校 : 國立高雄師範大學附屬高級中學
編號 : 7661
來源 : [114.40.8.251]
最後登入時間 :
2023-01-25 19:16:06
e680. 11947 - Cancer or Scorpio -- UVA | From: [218.164.115.250] | 發表日期 : 2020-10-10 02:07

看到這題很少人解,試試看才發現:用函式庫很簡單,但要自己刻時間處理,難度整個大躍進

題目意思很簡單,輸入一個日期,加 280 天後,求新日期的星座,再照格式輸出即可

解題分成幾個步驟

  1. 解析字串 01232009 成日期格式
  2. 日期計算
  3. 判斷新日期星座
  4. 格式化輸出

1. 解析字串

我是將每個字元拉出來計算,不難。有其他更好的方法歡迎提出

2. 日期計算

最核心的部份,函式庫中 C 有 time.h,Python 有 datetime

可能可以查詢的關鍵字:

  • C: struct tmtime_tmktimelocaltime
  • Python: datetimetimedelta

要自己刻的話,我是將日期都轉成 timestamp,計算完再轉回自訂的日期格式(聽起來很簡單,但自認細節不少)

3. 判斷星座

這邊照著題目給的,寫 if-else 就好,是最簡單的部份,僅要注意輸出的英文字要全小寫

4. 格式化輸出

注意格式要是 MM/DD/YYYY,MM 和 DD 可以用 %02d,YYYY 則可以用 %04d

 

AC get!

 
ZeroJudge Forum