编写一个C语言程序,输入2023年的1月1日到3月21日之间的任意一天的日期,输出这一天星期几?如输入:2023年3月1日,输出2023年3月1日星期三。
时间: 2023-05-17 22:02:58 浏览: 87
好的,这是一个比较简单的问题,以下是C语言程序的代码:
```
#include <stdio.h>
int main()
{
int year, month, day;
printf("请输入日期(格式:年 月 日):");
scanf("%d %d %d", &year, &month, &day);
int days[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int sum = 0;
for (int i = 1; i < month; i++) {
sum += days[i];
}
sum += day;
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
if (month > 2) {
sum++;
}
}
int weekday = (year + year / 4 - year / 100 + year / 400 + sum) % 7;
char *weekdays[] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
printf("%d年%d月%d日是%s\n", year, month, day, weekdays[weekday]);
return 0;
}
```
这个程序可以计算输入日期是星期几,其中使用了基本的日期计算方法和蔡勒公式。
阅读全文