题解 P5716 【【深基3.例9】月份天数】
分析一波~
首先“一月大,二月平···”那么1,3,5,7,8,10,12是大月(31天),而4,6,9,11是小月(30天),2月是平月
所以第二步要特判年是否为闰年(ps:闰年就是为了防止误差在2月加了一天,闰年要能被4整除却不能被100整除,或能被400整除)
第三步建一个月的数量的表,具体代码说
极简代码供上~
#include <stdio.h>
int main()
{
int n,m;//一个年份n,一个月份m
scanf("%d %d",&n,&m);//简单输入
int day[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};/建表(此时二月是按照平年算)
if(n%4==0&&n%100!=0||n%400==0)//特判闰年
day[2]=29;//闰年2月29天
printf("%d",day[m]);输出
return 0;
}