学习计算天数
- 题目描述:
- 解法思路:
- 解法代码:
- 运行结果:
题目描述:
输入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;
}