闰年判断与日期计算

一.摘要

  • 闰年的判断只需要记住一个口诀:“四年一闰,百年不闰,四百年再闰”,意思是“能被4整除且不能为100整除的年份”是闰年,“能被400整除的年份”也是闰年;
  • 日期计算(计算某一日期是一年中的第几天),先判断是闰年还是非闰年,再求该日期是一年中的第几天,具体做法是建立个结构体或数组。

二.示例代码(C++描述)

 1 /*闰年判断与日期计算*/
 2 #include<iostream>
 3 #include<string>
 4 #include<iomanip>
 5 using namespace std;
 6 struct {
 7     int date[12] = { 31,29,31,30,31,30,31,31,30,31,30,31 };
 8 }run;//闰年
 9 struct {
10     int date[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
11 }nrun;//非闰年
12 
13 int main() {
14     int ye, mo, day;
15     cin >> ye >> mo >> day;
16     int sum = 0;
17     if (ye % 4 == 0 && ye % 100 != 0 || ye % 400==0) {//闰年
18         for (int i = 0; i < mo-1; i++) {//计算到前一个月
19             sum += run.date[i];
20         }
21     }
22     else {
23         for (int i = 0; i < mo-1; i++) {
24             sum += nrun.date[i];
25         }
26     }
27     sum += day;//加上日
28     cout << ye << "" << mo << "" << day << "日 是一年中的第" << sum << "" << endl;
29     system("pause");
30     return 0;
31 }

三.运行结果

 

 四.总结

  这应该是最简便的方法了,其他方法的相对繁琐~

原文地址:https://www.cnblogs.com/chasemeng/p/12943472.html