代码中get_day()函数是什么意思,谁能帮我解答一下#include <iostream>

代码中get_day()函数是什么意思,谁能帮我解答一下

#include 
#include 
using namespace std;

int days[ ] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

bool check(int year)
{
    return year % 400 == 0 || year % 4 == 0 && year % 100 != 0; //闰年2月多一天
}

int get_day(int year, int month)
{
    if(month == 2) return 28 + check(year);
    return days[month];
}

int main()
{
    int n;
    cin >> n;
    
    string ans1, ans2;  //ans1回文数 ans2为ababbaba形回文数
    bool flag1 = false, flag2 = false; //两个哨兵
    for (int i = n / 10000; i <= 9999; i ++) //枚举年份
    {
        string a = to_string(i); //to_string整转字
        string b = a; 
        reverse(b.begin(), b.end()); //反转b
        if(a + b <= to_string(n)) continue; //得到日期需大于输入日期
        
        int month = stoi(b.substr(0, 2)); //stoi字转整 substr分理出月份和天
        int day = stoi(b.substr(2, 2));
        if(month < 1 || month > 12) continue; //判断是否合法
        if(day < 1 || day > get_day(i, month)) continue;
        
        string s1 = a.substr(0, 2); //作为判断ababbaba型
        string s2 = a.substr(2, 2);
        if(!flag1) ans1 = a + b, flag1 = true;
        if(!flag2 && s1 == s2 && s1[0] != s1[1]) ans2 = a + b, flag2 = true; //判断ababbaba型

        if(flag1 && flag2) break; //得到两个回文数结束循环
    }
    
    cout << ans1 << endl;
    cout << ans2 << endl;
    return 0;
}


#include就是导入iostream库(输入输出流)

get_day(int year, int month)函数的作用,得到year年 month 月的天数。

get_day() 函数是计算指定年份和月份的天数,其中参数 year 表示年份,参数 month 表示月份。首先判断月份是否是二月,如果是则加上一个闰年的天数(如果当前年份为闰年),否则直接从 days 数组中查找该月份对应的天数。其中 days 数组的下标从 1 开始,下标 0 对应的是一个占位符,没有实际意义。