代码拉取完成,页面将自动刷新
#include <stdio.h>
/* 1990年1月1日 是星期一 */
int is_leap_year(int year) {
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
int get_days_in_month(int month, int is_leap) {
int days_in_month[] = {31, 28 + is_leap, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
return days_in_month[month - 1];
}
int calculate_days(int year, int month, int day) {
int sum = 0;
for (int i = 1990; i < year; i++) {
sum += is_leap_year(i) ? 366 : 365;
}
for (int i = 1; i < month; i++) {
sum += get_days_in_month(i, is_leap_year(year));
}
return sum + day;
}
void print_weekday(int sum, int year, int month, int day) {
const char* days_of_week[] = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
printf("%d年%d月%d日是%s\n", year, month, day, days_of_week[sum % 7]);
}//判断星期几
int main() {
int year, month, day;
printf("请输入日期(格式:年/月/日):");
scanf("%d/%d/%d", &year, &month, &day);
int total_days = calculate_days(year, month, day);
print_weekday(total_days, year, month, day);
return 0;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。