题解 | #获得月份天数#
获得月份天数
https://www.nowcoder.com/practice/13aeae34f8ed4697960f7cfc80f9f7f6
#include <stdio.h>
int is_leap_year(int y)//判断是否是闰年的函数
{
if (((y % 4 == 0) && (y % 100 != 0) || (y % 400 == 0)))//判断闰年的条件
return 1;//满足的话就返回1
else
return 0;//不满足的话就返回0
}
int get_days_of_month(int y, int m)//这个函数里面包含了判断闰年的函数,这个函数主要是判断每个月的天数
{
int days[] = {0,31,28,31,30,31,30,31,31,30,31,30,31};//最开始定义为0的目的是输入月份输就能直接将月份天数调出来
int day = days[m];//用数组下标来引用表示天数
if (is_leap_year(y) == 1 && m == 2)//如果上面判断闰年的返回值是1并且月份是2月,那么这一年这一月就是29天
{//这个条件语句专门针对闰年的二月的,不满足这个条件的就正常打印
day++;//闰年二月的时候天数要+1是29天
}
return day;
}
int main() {
int year, month;
while (scanf("%d %d", &year, &month) != EOF)//多组输入
{
int day = get_days_of_month(year, month);
printf("%d\n", day);
}
return 0;
}


