重生之我是懒羊羊980 2024-09-03 20:42 采纳率: 74%
浏览 5
已结题

写一个程序,对任意输入的一个日期,输出该日期是星期几(从1900~2100年之间)。

写一个程序,对任意输入的一个日期,输出该日期是星期几(从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;
    }
    

    解释:

    1. 函数 get_day_of_week():这是主要的函数,它接受三个整数参数:年份、月份和日期。通过计算总天数和是否为闰年(根据年份),并加上指定的日期,可以得到对应的星期几。
    2. 主函数main():用户输入年份、月份和日期后,调用 get_day_of_week() 函数计算这一天的位置,并将结果打印出来。

    注意事项:

    • 这个程序假设了1月1日是星期一。如果需要调整这个假设,可以在初始化时修改变量 days 的值。
    • 程序中没有包含任何错误检查,实际应用中应该添加适当的错误处理逻辑,比如验证输入的有效性等。

    示例输出:

    输入年份:1900 输入月份(1-12): 5 输入日期(1-31): 7

    您选择的日期在第5位。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月16日
  • 已采纳回答 10月8日
  • 创建了问题 9月3日