21xrx.com
2024-12-22 22:44:51 Sunday
登录
文章检索 我的文章 写文章
C++编写判断闰年的程序
2023-07-09 11:23:11 深夜i     --     --
C++ 编写 判断 闰年 程序

闰年是指除能被4整除的普通年份外,能被100整除但不能被400整除的年份,或者能被3200整除的年份。判断一个年份是否为闰年是编程中常见的问题,下面介绍一下如何用C++编写判断闰年的程序。

首先需要明确一个概念,即闰年在公历(格雷高里历)中的定义。根据这个定义,可以列出判断闰年的条件:

1. 能够被4整除但不能被100整除的年份是闰年。

2. 能够被100整除但不能被400整除的年份不是闰年。

3. 能够被3200整除的年份是闰年。

基于这些条件,我们可以写出如下的C++程序:

#include

using namespace std;

bool isLeapYear(int year) {

  if (year % 3200 == 0)

    return true;

   else if (year % 100 == 0)

    return year % 400 == 0;

   else

    return year % 4 == 0;

}

int main() {

  int year;

  cout << "请输入一个年份:" << endl;

  cin >> year;

  if (isLeapYear(year))

    cout << year << "是闰年" << endl;

   else

    cout << year << "不是闰年" << endl;

  return 0;

}

这是一个简单的控制台程序,输入一个年份,程序会判断该年份是否为闰年,并输出结果。isLeapYear()函数用于判断是否是闰年,它接受一个年份为参数,返回true或false。在函数中,首先判断是否能够被3200整除,如果是,则直接返回true;否则再判断是否能够被100整除,如果是,则必须要同时能够被400整除才能是闰年,否则不是闰年;否则再判断是否能够被4整除,如果是,则是闰年,否则不是闰年。

此外,还可以用更简单的方法实现判断闰年的功能,例如:

bool isLeapYear(int year) {

  return year % 4 == 0 && (year % 100 != 0 || year % 400 == 0 || year % 3200 == 0);

}

这个函数也是返回true或false,它的条件判断更加简洁,可以看做是前面方法的优化版。

综上所述,用C++编写判断闰年的程序并不难,只需要按照闰年的定义和条件进行判断即可。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复