题解 | #获得月份天数#
获得月份天数
https://www.nowcoder.com/practice/13aeae34f8ed4697960f7cfc80f9f7f6
#include<stdio.h>
int main()
{
int a,b;//定义a为年份,b为月份
while(scanf("%d %d\n",&a,&b)!=EOF)//多组输入标配,别忘了加换行符\n
{
if(b==2)//因为2月最特殊
{
if(a%4==0&&a%100!=0||a%400==0)//判断是否为闰年
{
printf("29\n");//是闰年则输出29
}
else
{
printf("28\n");//不是闰年则输出28
}
}
else //其它月份用switch函数
{
switch(b)//判断对象是月份
{//4,6,9,11月为30天,其余月份除刚算的2月外,均为31天
case 4://满足4,就进入,碰不到break就一直往下,最终输出30
case 6:
case 9:
case 11:printf("30\n");break;
default:printf("31\n");break;
}
}
}
return 0;
}
总结:
月份看左右拳一样
闰年判断能被4整除但不能被100整除还有是能被400整除都算闰年

查看4道真题和解析