题目描述
输⼊y和m两个整数,y表⽰年份,m表⽰⽉份,计算y年m⽉有多少天,并输出天数。
解法思路
按照⼤⼩⽉将⼗⼆个⽉份的天数记录在数组中直接获取,特判年份是闰年并且⽉份是⼆⽉的情况即
可。
解法代码
cs
#define _CRT_SECURE_NO_WARNINGS 1
#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;
}
运行结果
输入:2024 10
输出:31