21xrx.com
2025-03-15 13:01:45 Saturday
文章检索 我的文章 写文章
C++如何判断日期在一年中的第几天
2023-07-05 08:46:05 深夜i     52     0
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()` 函数计算出在一年中的第几天并输出即可。

  
  

评论区

请求出错了