#include <stdio.h>
#include <windows.h>
#include <conio.h>
int GetYearMonth(int year, int month);
int CalCommonLeapYear(int year);
int main() {
//求某一年的某一月有多少天
int year = 0, month = 0, rdays = 0;
scanf_s("%d",&year);
scanf_s("%*[^\n]"); scanf_s("%*c");
scanf_s("%d", &month);
rdays = GetYearMonth(year, month);
printf("year=%d,month=%d is days =%d\n", year, month,rdays);
return 0;
}
int GetYearMonth(int year, int month) {
int isLeap = 0;
switch (month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return 31;
case 4:
case 6:
case 9:
case 11:
return 30;
default:
//計算平年還是閏年
isLeap = CalCommonLeapYear(year);
if (isLeap == 1) {
return 28;
}
else {
return 29;
}
break;
}
}
//如果傳回是1,說明平年,2說明閏年
int CalCommonLeapYear(int year) {
int i = 0;
if ((year % 4 == 0 && year % 100 != 0) || (year % 100 == 0) || (year % 400 == 0)) {
i= 2;
}
else {
i = 1;
}
return i;
}