21xrx.com
2024-06-03 04:06:07 Monday
登录
文章检索 我的文章 写文章
C++如何判断日期在一年中的第几天
2023-07-05 08:46:05 深夜i     --     --
C++ 判断 日期 一年 第几天

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

在C++编程中,如果需要判断一个日期在一年中的第几天,可以使用如下的代码:


#include <iostream>

using namespace std;

bool isLeapYear(int year) {

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

}

int getDayOfYear(int year, int month, int day) {

  int daysInMonth[] = { 0, 31, 28 + isLeapYear(year), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };

  int dayOfYear = 0;

  for (int i = 1; i < month; i++) {

    dayOfYear += daysInMonth[i];

  }

  return dayOfYear + day;

}

int main() {

  int year, month, day;

  cout << "请输入日期(格式: 年 月 日): ";

  cin >> year >> month >> day;

  int dayOfYear = getDayOfYear(year, month, day);

  cout << year << "年" << month << "月" << day << "日是该年的第" << dayOfYear << "天" << endl;

  return 0;

}

上面的代码中,我们定义了两个函数来实现判断一个日期在一年中的第几天:

1. `isLeapYear()` 函数用于判断某一年是否为闰年,如果是则返回 true,否则返回 false。

2. `getDayOfYear()` 函数用于获取某个日期在一年中的第几天。首先我们定义了一个数组 `daysInMonth` 来存储每个月的天数,其中第二个元素为2月份的天数,根据闰年与否用三目运算符判断:闰年则2月份有29天,否则有28天。随后用一个 for 循环遍历到当前月份前一月的天数之和,再加上当前日期即可得到该日期在一年中的第几天。

最后在 `main()` 函数中读入日期,用 `getDayOfYear()` 函数计算出在一年中的第几天并输出即可。

  
  

评论区

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