九度 oj 题目1096:日期差值

    xiaoxiao2021-03-26  45

    http://ac.jobdu.com/problem.php?pid=1096

    计算每个日期的总日子,然后相减。

    #include <stdio.h> static int days = 365; static int month[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 }; int leap(int year){ if(!year) return 0; return year/4 - year/100 + year/400; } bool isLeap(int year){ if(year@0 == 0 || (year0 && year%4 == 0)) return 1; return 0; } int calcu(int y, int m, int d){ int res = (y-1)*days + leap(y-1); for (int i = 1; i < m; ++i) { res += month[i]; } if(isLeap(y)&&m>2) res++; res+= d; return res; } int main(){ int y0,y1,m0,m1,d0,d1; while(scanf("M--",&y0,&m0,&d0) !=EOF){ scanf("M--",&y1,&m1,&d1); printf("%d\n",calcu(y1,m1,d1) - calcu(y0,m0,d0)+1); } }

    转载请注明原文地址: https://ju.6miu.com/read-662811.html

    最新回复(0)