学习计算天数
- 题目描述:
- 解法思路:
- 解法代码:
- 运行结果:
题目描述:
输入y和m两个整数,y表示年份,m表示月份,计算y年m月有多少天,并输出天数。
测试1:
输⼊:2023 4
输出:30
测试2:
输⼊:2023 2
输出:28
测试3:
输⼊:2020 2
输出:29
解法思路:
按照大小月将十二个月份的天数记录在数组中直接获取,特判年份是闰年并且月份是二月的情况即可。
解法代码:
#include <stdio.h>
int get_month_of_day(int y, int m)
{
//将每个月份的天数记录在数组中
int days[13] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
//获取月份的天数
int day = days[m];
//特判二月天数是29天的情况
if ((y % 4 == 0 && y % 100 != 0) || (y % 400 == 0))
{
if (m == 2)
day += 1;
}
return day;
}
int main()
{
int y = 0;
int m = 0;
//输⼊
scanf("%d %d", &y, &m);
//获取y年m月的天数
int ret = get_month_of_day(y, m);
printf("%d\n", ret);
return 0;
}