21xrx.com
2024-11-22 07:58:23 Friday
登录
文章检索 我的文章 写文章
C++编程计算星期几的公式
2023-07-05 04:57:39 深夜i     --     --
C++ 编程 计算 星期几 公式

C++编程是一种十分有用的技能,在编程的学习过程中,我们会遇到很多有趣的问题。比如,如何根据给出的日期计算这个日期是星期几呢?

其实,这个问题并不难,因为我们可以根据一个公式来计算。具体来说,我们可以使用蔡勒公式(Zeller's congruence)来计算。蔡勒公式是一种用于计算给定日期是星期几的算法,它基于日期与星期几之间的数学关系和模算术。

蔡勒公式的原理是这样的:根据公历年月日计算出与这一天相应的星期,其计算方法如下:

W = (year + [year/4] + [c/4] - 2c + [26(m+1)/10] + day -1) mod 7

其中,W代表星期几,year代表公历年份的前四位数字,c则是这个世纪(即当前日期所在的年代)的前两位数字,m表示公历月份(3表示3月,4表示4月,以此类推),而day则是公历日。

使用C++编程来实现蔡勒公式也非常简单。下面是一个示例代码:

#include

using namespace std;

int main(){

  int year, month, day;

  cin >> year >> month >> day;

  if(month == 1 || month == 2){

    month += 12;

    year--;

  }

  int c = year / 100;

  int y = year % 100;

  int w = (y + y / 4 + c / 4 - 2 * c + 26 * (month + 1) / 10 + day - 1) % 7;

  switch(w){

    case 0:

      cout<<"星期日\n";

      break;

    case 1:

      cout<<"星期一\n";

      break;

    case 2:

      cout<<"星期二\n";

      break;

    case 3:

      cout<<"星期三\n";

      break;

    case 4:

      cout<<"星期四\n";

      break;

    case 5:

      cout<<"星期五\n";

      break;

    case 6:

      cout<<"星期六\n";

      break;

  }

  return 0;

}

在这个代码中,我们首先让用户输入一个年份、月份和日期。如果月份是1或2月,我们就将它们视为上一年的13月和14月,然后将年份减一,以便蔡勒公式可以正确地运作。

接下来,我们根据公式计算出星期几,并将它们转换为对应的文字输出。在代码中,我们使用了switch语句来输出星期几,并在每一个选项中加上了对应的汉字。

总的来说,使用C++来计算星期几是一件简单而又有趣的事情。通过学习蔡勒公式,我们可以更好地理解日期与星期之间的数学关系,并在编程实践中积累更多的经验。

  
  
下一篇: C++重写与重载

评论区

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