题解 | #获得月份天数#

获得月份天数

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;
}


全部评论

相关推荐

今天 12:43
已编辑
门头沟学院 C++
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务