3.4日期處理
阿新 • • 發佈:2018-07-31
alt return smr 一個 ddt 數加 while ont dtc
3.4日期處理
http://www.codeup.cn/problem.php?cid=100000578&pid=0
#include<cstdio> int month[13][2] = { // 平年和閏年的每個月的天數 {0,0}, {31,31}, {28,29}, {31,31}, {30,30}, {31,31}, {30,30}, {31,31}, {31,31}, {30,30}, {31,31}, {30,30}, {31,31} }; bool isLeap(int year){ //判斷是否是閏年 return(year % 4 == 0 && year % 100 != 0) || (year % 400 == 0); } int main(){ int time1, y1, m1, d1; int time2, y2, m2, d2; while(scanf("%d%d", &time1, &time2) != EOF){ if(time1 > time2){ int temp = time1; time1 = time2; time2 = temp; } y1 = time1 / 10000, m1 = time1 % 10000 / 100, d1 = time1 % 100; y2 = time2 / 10000, m2 = time2 % 10000 / 100, d2 = time2 % 100; int ans = 1; //記錄結果 //第一個日期沒有達到第二個日期時進行循環 //即 !((y1 == y2) && (m1 == m2) && (d1 = d2)) while(y1 < y2 || m1 < m2 || d1 < d2){ d1++; //天數加 1 if(d1 == month[m1][isLeap(y1)] + 1){ //滿當月天數 m1 ++; //日期變為下個月的 1 號 d1 = 1; } if(m1 == 13){ //月份滿 12 個月 y1++; m1 = 1; } ans++; //累計 } printf("%d\n", ans); //輸出結果 } return 0; }
3.4日期處理