题目:
求两个日期相差的天数。
题解:
直接求。
代码:
#include <bits/stdc++.h> using namespace std; int a, b, c; int t[13] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; bool f(int a) { ? ? if (a % 4 == 0 && a % 100 != 0 || a % 400 == 0) ? ? ? ? return 1; ? ? return 0; } int sum() { ? ? int cnt = 0; ? ? for (int i = 1; i < a; i++) { ? ? ? ? cnt += 365; ? ? ? ? if (f(i)) ? ? ? ? ? ? cnt++; ? ? } ? ? for (int i = 1; i < b; i++) ? ? ? ? cnt += t[i]; ? ? if (f(a) && b > 2) ? ? ? ? cnt += 1; ? ? cnt += c; ? ? return cnt; } int main() { ? ? scanf("%d:%d:%d", &a, &b, &c); ? ? int x1 = sum(); ? ? scanf("%d:%d:%d", &a, &b, &c); ? ? int x2 = sum(); ? ? printf("%d\n", abs(x2 - x1)); ? ? return 0; }
|