你们谁能帮我解释一下它的逻辑吗? 根据公历,今天是星期一,日期为 01 01 01。如果通过键盘输入任意年份,请编写一个程序,找出今年的 1 月 1 日是星期几。
最佳答案
您正在寻找Zeller's Congruence ,它会告诉您任何给定日期是星期几。
看起来像这样:
int getDayOfWeek(int day, int month, int year) {
int aa = (14 - month) / 12;
int yy = year - aa;
int mm = (month + (12 * aa)) - 2;
int dayOfWeek = (day + yy + (yy / 4) - (yy / 100) + (yy / 400) + ((31 * mm) / 12)) % 7;
return ((dayOfWeek + 6) % 7) + 1;
}
该函数返回 ISO 格式的日期,其中星期一 == 1 且星期日 == 7
关于c - 公历。如何查找星期一?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17452575/