2021年元旦是星期五,求出2021年的任何一个日期是星期几(用0~6分别表示星期日~星期六)。

2021年元旦是星期五,求出2021年的任何一个日期是星期几(用0~6分别表示星期日~星期六)。

供参考:

//用蔡勒公式
#include <stdio.h>
int main()
{
  int y, m, d, c, week;
  printf ("输入年 月 日(空格间隔):");
  scanf ("%d %d %d", &y, &m, &d);
  if (m ==1 || m == 2) { //判断月份是否为1或2
    y--;    m += 12;
  }
  c = y / 100;
  y = y - c * 100;
  week = (c / 4) - 2 * c + (y + y / 4) + (13 * (m + 1) / 5) + d - 1;
  while (week < 0) week += 7;
  week %= 7;
  if (week == 0)
      printf ("星期日\n");
  else
      printf ("星期%d\n", week);

  return 0;
}