解题思路

  • 将每个月的天数按序存到数组中,闰年的话,修改数组中对应的值
  • 通过循环取数组中的值累加就行了
package main

import(
    "fmt"
)

func main(){
    var year,months,day int
    if n,_ := fmt.Scan(&year,&months,&day); n == 0{
        return
    }
    daysArr := []int{31,28,31,30,31,30,31,31,30,31,30,31}
    if leapYear(year){
        daysArr[1] = 29
    }
    res := 0
    for i:=0;i< months - 1 ;i++{
        res += daysArr[i]
    }
    fmt.Println(res + day)
}

func leapYear(year int)bool{
    // 四年一闰,百年不闰,四百年在闰
    if year%4 == 0 && year%100 != 0 || year%400 == 0{
        return true
    }else{
        return false
    }
}