写一个程序,对任意输入的一个日期,输出该日期是星期几(从1900~2100年之间)。
1条回答 默认 最新
吃不了席 2024-09-03 20:53关注以下回复参考:皆我百晓生、券券喵儿等免费微信小程序作答:
要编写一个程序,用于识别给定的日期是哪一天中的周几(从1900年至2100年间)。为了实现这个功能,我们可以利用C语言编程语言,并使用
date库来处理日期相关的操作。下面是一个简单的示例程序:#include <stdio.h> #include <stdlib.h> #include <string.h> // 函数定义:计算给定日期是星期几 int get_day_of_week(int year, int month, int day) { // 计算天数 int days_in_month[13] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; int days = 0; for (int i = 0; i <= month - 1; i++) days += days_in_month[i]; // 根据闰年的规则判断是否为闰年 if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) days++; return days + day; } int main() { int year, month, day; printf("请输入一个年份: "); scanf("%d", &year); printf("请输入月份(1-12): "); scanf("%d", &month); printf("请输入日期(1-31): "); scanf("%d", &day); int day_of_week = get_day_of_week(year, month, day); printf("您选择的日期在第%d位。\n", day_of_week); return 0; }解释:
- 函数
get_day_of_week():这是主要的函数,它接受三个整数参数:年份、月份和日期。通过计算总天数和是否为闰年(根据年份),并加上指定的日期,可以得到对应的星期几。 - 主函数
main():用户输入年份、月份和日期后,调用get_day_of_week()函数计算这一天的位置,并将结果打印出来。
注意事项:
- 这个程序假设了1月1日是星期一。如果需要调整这个假设,可以在初始化时修改变量
days的值。 - 程序中没有包含任何错误检查,实际应用中应该添加适当的错误处理逻辑,比如验证输入的有效性等。
示例输出:
输入年份:1900 输入月份(1-12): 5 输入日期(1-31): 7
您选择的日期在第5位。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报- 函数