程序如下:
/*
假设我们计算某年某⽉有多少天?如果要函数实现,可以设计2个函数:
• is_leap_year():根据年份确定是否是闰年
• get_days_of_month():调⽤is_leap_year确定是否是闰年后,再根据⽉计算这个⽉的天数
*/
#define _CRT_SECURE_NO_WARNINGS 1
#pragma warning(disable:6031)
#include<stdio.h>
#include<stdbool.h>
bool is_leap_year(int y)//这里需要判断闰年的条件,所以使用布而类型
{
if (((y % 4 == 0) && (y % 100 != 0)) || (y % 400 == 0))//闰年判断条件
return true;
else
return false;
}
int get_days_of_month(int y, int m)
{
int days[] = { 0,31,28,31,30,31,30,31,30,31,30,31,30 };//将某月有多少天储存在数组向量中
int day = days[m];
if (is_leap_year(y) && m == 2)//if "is_leap_year(y)=1,则day进行自增运算"
{
day++;
}
return day;
}
int main()
{
int year = 0;
int month = 0;
scanf("%d %d", &year, &month);//计算某年某月有多少天
int day = get_days_of_month(year, month);
printf("%d\n", day);
return 0;
}
运行结果:
![](https://i-blog.csdnimg.cn/direct/992a7e70686e4e238da93a7a69a8d12f.png)
![](https://i-blog.csdnimg.cn/direct/44656383296f47858f09c418207df12b.png)
![](https://i-blog.csdnimg.cn/direct/ba43d66b257048efb47c3a97ed87805a.png)