两个日期之间的天数

抄的代码

 1 #define _CRT_SECURE_NO_WARNINGS
 2 #include<cstdio>
 3 int month[13][2] = {//用数组表示定义平年、闰年每个月多少天
 4     {0,1},{31,31},{28,29},{31,31},{30,30},{31,31},{30,30},{31,31},{31,31},{30,30},{31,31},{30,30},{31,31}
 5 };
 6 bool isLeap(int year) {//判断是否为闰年
 7     return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
 8 }
 9 int main() {
10     int time1, y1, m1, d1;
11     int time2, y2, m2, d2;
12     while (scanf("%d%d",&time1,&time2)!=EOF)
13     {
14         if (time1>time2) {
15             int temp = time1;
16             time1 = time2;
17             time2 = temp;
18         }
19         y1 = time1 / 10000, m1 = time1 % 10000 / 100, d1 = time1 % 100;
20         y2 = time2 / 10000, m2 = time2 % 10000 / 100, d2 = time2 % 100;
21         int ans = 1;//记录结果
22         while (y1<y2||m1<m2||d1<d2)
23         {
24             d1++;
25             if (d1 == month[m1][isLeap(y1)]+1) {
26                 m1++;
27                 d1 = 1;
28             }
29             if (m1 == 13) {
30                 y1++;
31                 m1 = 1;
32             }
33             ans++;
34         }
35         printf("%d\n", ans);
36     }
37     return 0;
38 }
勿在浮沙筑高台
原文地址:https://www.cnblogs.com/zhuzehua/p/15700036.html