用c语言 编写一个程序,接收用户输入的日期(年、月、日),判断这一 1. 编写一个程序,定义并调用一个函数,该函数接收一个整数数 组,返回数组中的最大值及其索引天是星期几
时间: 2024-11-05 11:28:42 浏览: 33
你可以使用 C 语言编写一个简单的程序来完成这个任务。首先,我们需要包含必要的头文件,然后定义一个函数`calculate_weekday(year, month, day)`来计算给定日期是星期几,这里我们将采用 Zeller's congruence 算法来进行计算。接下来,我们还需要定义主函数`main()`来接收用户输入,并调用上述函数。
下面是一个基本的实现:
```c
#include <stdio.h>
// 定义函数:接收日期(年、月、日),返回对应的星期几(0表示周一,6表示周日)
int calculate_weekday(int year, int month, int day) {
if (month < 3) {
month += 12;
year--;
}
int century = year / 100;
int week_day = (day + ((13 * (month + 1)) / 5) + year + (year / 4) - (century / 4) + (century / 100) + (century / 400)) % 7;
return week_day;
}
int main() {
int year, month, day;
// 接收用户输入
printf("请输入日期(格式:年 月 日):");
scanf("%d %d %d", &year, &month, &day);
// 调用函数并打印结果
int weekday = calculate_weekday(year, month, day);
printf("给定日期 %d-%02d-%02d 是星期%d。\n", year, month, day, weekday);
// 提供一些额外信息
switch (weekday) {
case 0:
printf("星期一\n");
break;
case 1:
printf("星期二\n");
break;
case 2:
printf("星期三\n");
break;
case 3:
printf("星期四\n");
break;
case 4:
printf("星期五\n");
break;
case 5:
printf("星期六\n");
break;
default:
printf("错误:无效的星期索引\n");
break;
}
return 0;
}
```
在这个程序中,`calculate_weekday`函数通过Zeller's congruence公式计算出日期对应的星期。用户输入的日期将被传递给此函数,然后在`main`函数中显示结果。
阅读全文