本文主要是介绍Zeller公式的应用:给定日期,确定周几,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
开篇
本篇文章依然是对于日期相关函数的实现。
问题概要
给定一个日期,返回为周几
思路分析
这个问题的思路只是对于Zeller公式的直接引用,不存在其他逻辑。公式详情可参考Zeller公式百科
代码实现
#include <stdio.h>// 根据Zeller公式计算
int dayOfWeek(day, month, year) {if (month < 3) {month += 12;year -= 1;}int K = year % 100;int J = year / 100;int h = (day + (13 * (month + 1) / 5) + K + (K / 4) + (J / 4) + (5 * J)) % 7;return h;
}int main() {int day, month, year;printf("输入一个日期(日 月 年): ");scanf_s("%d %d %d", &day, &month, &year);int weekday = dayOfWeek(day, month, year);printf("%d\n", weekday);weekday = (weekday + 6) % 7;const char* weekdays[] = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};printf("这一天是 %s\n", weekdays[weekday]);return 0;
}
注
希望本文能对您有所帮助。
感谢阅读!
这篇关于Zeller公式的应用:给定日期,确定周几的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!