21xrx.com
2024-11-22 09:40:45 Friday
登录
文章检索 我的文章 写文章
C++如何判断某年某月的天数?
2023-07-06 22:44:27 深夜i     --     --
C++ 判断 天数

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

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

在C++编程中,有时需要判断某年某月的天数。这是因为不同月份的天数是不同的,而且闰年和平年的天数也存在差异。下面,我们将介绍C++中如何判断某年某月的天数。

1. 判断平闰年

首先,我们需要判断所给定的年份是平年还是闰年。根据公历,闰年是指公历年份被4整除,但不被100整除的,或者被400整除的年份。可以使用以下代码判断:


bool LeapYear(int year){

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

}

上述代码中,LeapYear是一个自定义函数,用于判断所给定的年份是否为闰年。如果是闰年,则返回true,否则返回false。

2. 判断月份天数

接下来,我们可以根据月份和年份来判断该月份的天数。由于每个月份的天数都不相同,我们可以使用switch语句来实现。


int MonthDays(int year, int month){

  int days;

  switch(month){

    case 1:

    case 3:

    case 5:

    case 7:

    case 8:

    case 10:

    case 12:

      days = 31;

      break;

    case 4:

    case 6:

    case 9:

    case 11:

      days = 30;

      break;

    case 2:

      if(LeapYear(year))

        days = 29;

      

      else

        days = 28;

      

      break;

  }

  return days;

}

上述代码中,MonthDays为自定义函数,用于返回所给定的年份和月份对应的天数。首先,我们使用switch语句来判断月份,如果是大月份(1、3、5、7、8、10、12月),则天数为31;如果是小月份(4、6、9、11月),则天数为30;如果是2月份,则需要判断是否为闰年,如果是闰年,则天数为29天,否则为28天。

完整代码如下:


#include <iostream>

using namespace std;

bool LeapYear(int year){

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

}

int MonthDays(int year, int month){

  int days;

  switch(month){

    case 1:

    case 3:

    case 5:

    case 7:

    case 8:

    case 10:

    case 12:

      days = 31;

      break;

    case 4:

    case 6:

    case 9:

    case 11:

      days = 30;

      break;

    case 2:

      if(LeapYear(year))

        days = 29;

      

      else

        days = 28;

      

      break;

  }

  return days;

}

int main(){

  int year = 2021;

  int month = 8;

  int days = MonthDays(year, month);

  cout << "Year: " << year << endl;

  cout << "Month: " << month << endl;

  cout << "Days: " << days << endl;

  return 0;

}

上述代码中,我们设定年份为2021年,月份为8月,然后调用MonthDays函数来计算该月份的天数。最后输出计算结果。运行程序,可以得到如下输出:


Year: 2021

Month: 8

Days: 31

这表示2021年8月份有31天,结果正确。

  
  

评论区

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