题解 | #获得月份天数#
获得月份天数
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; }