星~痕 2023-04-22 21:48 采纳率: 50%
浏览 261
已结题

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

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

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

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

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

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

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


#include <stdio.h>

int TotalLeapYear(int year);

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



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

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

24

  • 写回答

3条回答 默认 最新

  • 社区专家-Monster-XH 2023-04-22 22:05
    关注

    基于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;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    1人已打赏
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月30日
  • 已采纳回答 4月22日
  • 创建了问题 4月22日