题解 | #计算日期到天数转换#
计算日期到天数转换
http://www.nowcoder.com/practice/769d45d455fe40b385ba32f97e7bcded
/* 判断闰年:不能被100整除能被4整除 或 能被400整除。 平年二月28天; 闰年29天。 1 3 5 7 8 10 12 月有31天 4 6 9 11 月有30天 */ #include<stdio.h> int check(int year){ if((year%100!=0 && year%4==0) || (year%400==0)){ return 1; } else return 0; } int main(){ int year = 0; int m = 0; int n = 0; scanf("%d %d %d", &year, &m, &n); int day = n; switch(m){ case 1: day = 0;break; case 2: day = 31;break; case 3: day = 31 + 28 + check(year);break; case 4: day = 31*2 + 30*0 + 28 + check(year);break; case 5: day = 31*2 + 30*1 + 28 + check(year);break; case 6: day = 31*3 + 30*1 +28 + check(year);break; case 7: day = 31*3 + 30*2 + 28 + check(year);break; case 8: day = 31*4 + 30*2 + 28 + check(year);break; case 9: day = 31*5 + 30*2 + 28 + check(year);break; case 10: day = 31*5 + 30*3 + 28 + check(year);break; case 11: day = 31*6 + 30*3 + 28 + check(year);break; case 12: day = 31*6 + 30*4 + 28 + check(year);break; } day += n; printf("%d",day); return 0; }