C語言 計算某年某日是該年的第幾天 014
阿新 • • 發佈:2019-01-06
#include <stdio.h> #include <stdlib.h> /* 計算某年某日是該年的第幾天 例如: 2016-03-15 是該年的第75天. */ //判斷是否是閏年 是返回1 不是返回0; int Lyear(int years) { int res = 0; if (years %400==0 || years % 4 == 0 && years % 100 != 0) //計算閏年; { res = 1; } return res; } //統計天數 int star(int years, int month,int day) { int temp = 0; for (int i = 1; i<month;i++) { if (i == 2 && month > 2) { if (Lyear(years)) temp += 29; else temp += 28; continue; } switch (i) { case 4:temp += 30; continue; case 6:temp += 30; continue; case 9:temp += 30; continue; case 11:temp += 30; continue; default: break; } temp += 31; } return temp + day; //當月的天數 例如 3月15日 則 +15; } //判斷輸入的日期是否正確 int Whe(int month, int day) { int ret = 1; if (month > 12 || day > 31) ret = 0; return ret; } int main() { int year = 2016, month = 12, day = 31; if (Whe(month, day)) //防止輸入錯誤的日期 例如 2016-15-35; printf("%d-%d-%d 是該年的第%d天\n", year, month, day, star(year, month, day)); else printf("日期輸入錯誤,想調戲我在等100年把\n"); system("pause"); return 0; }