我的思路是:
1、可以使用两个数组分别存储平年和闰年每月的天数;
2、然后根据输入的年份判断是否为闰年,如果是闰年则取闰年每月天数数组中相应月的天数,否则取平年年每月天数数组中相应月的天数即可,代码如下:
参考链接:
#include <stdio.h>
int main(void){
// 平年每月天数
int ordinaryMonthDays[12]={31,28,31,30,31,30,31,31,30,31,30,31};
// 闰年每月天数
int leapMothDays[12]={31,29,31,30,31,30,31,31,30,31,30,31};
int year,month;
printf("请输入年份和月份(ex: 2020 12):");
scanf("%d %d",&year,&month);
// https://jingyan.baidu.com/article/6525d4b14c6306ed7d2e94b6.html
if((year%100!=0&&year%4==0)||(year%400==0)){ // 根据年份判断此年是否为闰年
printf("%d年%d月有%d天.\n",year,month,leapMothDays[month-1] ); // 如果是闰年,则月份-1的值去取闰年每月天数数组中的相应月的天数
}else{
printf("%d年%d月有%d天.\n",year,month,ordinaryMonthDays[month-1] ); // 如果是平年年,则月份-1的值去取平年年每月天数数组中的相应月的天数
}
return 0;
}