c语言 输入年月日,输出年月日星期几
时间: 2023-12-14 21:02:58 浏览: 128
以下是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
int year, month, day;
printf("请输入年月日(格式为 yyyy mm dd):\n");
scanf("%d %d %d", &year, &month, &day);
// 判断输入的日期是否合法
if (year < 1900 || year > 2100 || month < 1 || month > 12 || day < 1 || day > 31) {
printf("日期输入有误!\n");
return 0;
}
// 计算星期几
int y = year, m = month, d = day;
if (m == 1 || m == 2) {
m += 12;
y--;
}
int week = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400) % 7;
char* weekdays[] = {"日", "一", "二", "三", "四", "五", "六"};
// 输出结果
printf("%04d年%02d月%02d日是星期%s\n", year, month, day, weekdays[week]);
return 0;
}
```
该程序先通过 `scanf` 函数获取用户输入的年月日,然后判断输入的日期是否合法。接着,它根据输入的日期计算出星期几,最后输出结果。
计算星期几的方法是使用蔡勒公式(Zeller's congruence),这是一种通过年月日计算星期几的数学公式。具体实现可以参考上述代码。
阅读全文