请编写函数,求从公元 1 年开始到指定年份之间的闰年总数

请编写函数,求从公元 1 年开始到指定年份之间的闰年总数。

函数接口定义:
int TotalLeapYear(int year);
说明:参数 year 为年数。函数值为从公元 1 年到 year 年的闰年总数。

按照现行历法(格里高利历):四年一闰,百年不闰,四百年再闰。即:年数是 4 的倍数且不是 100 的倍数,或者年数是 400 的倍数,则为闰年,否则为平年。

注:为简化函数设计,作以下限制

年数一律为正整数(即不考虑公元前的情况);
不考虑历法演变过程(即假定从一开始就一直使用现行的历法)。

裁判测试程序样例:
在这里给出函数被调用进行测试的例子。例如:


#include 

int TotalLeapYear(int year);

int main()
{
    int y;
    scanf("%d", &y);
    printf("%d\n", TotalLeapYear(y));
    return 0;
}



``
输入样例:
在这里给出一组输入。例如:

100
输出样例:
在这里给出相应的输出。例如:

24

基于Monster 组和GPT的调写:


int TotalLeapYear(int year)
{
    int total = 0;
    for (int i = 1; i <= year; i++) {
        if ((i % 4 == 0 && i % 100 != 0) || i % 400 == 0) {
            total++;
        }
    }
    return total;
}

int TotalLeapYear(int year) {
    int count = 0;
    for (int i = 1; i <= year; i++) {  // 从公元1年到指定年份之间依次遍历每一年
        if ((i % 4 == 0 && i % 100 != 0) || i % 400 == 0) {  // 判定是否为闰年
            count++;
        }
    }
    return count;
}

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^