2301_80745055 2023-10-30 10:24 采纳率: 50%
浏览 5

用户输入几月几号,显示该日期是星期几

今年1月1日是星期日,据此可以推算今年任意一个日期是星期几。请编写程序实现:程序运行后,让用户输入几月几号,然后显示该日期是星期几。

  • 写回答

2条回答 默认 最新

  • 叶灼hua 2023-10-30 10:35
    关注
    
    #include <stdio.h>
    int main()
    {
        int year, month, day;
        int days = 0;
        int week;
        printf("请输入年份:");
        scanf("%d", &year);
        printf("请输入月份:");
        scanf("%d", &month);
        printf("请输入日期:");
        scanf("%d", &day);
    
        // 计算输入日期与2017年1月1日之间的天数差
        for (int i = 2017; i < year; i++) {
            if ((i % 4 == 0 && i % 100 != 0) || i % 400 == 0) {
                days += 366;
            } else {
                days += 365;
            }
        }
        for (int i = 1; i < month; i++) {
            switch (i) {
                case 1:
                case 3:
                case 5:
                case 7:
                case 8:
                case 10:
                case 12:
                    days += 31;
                    break;
                case 4:
                case 6:
                case 9:
                case 11:
                    days += 30;
                    break;
                case 2:
                    if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
                        days += 29;
                    } else {
                        days += 28;
                    }
                    break;
            }
        }
        days += day - 1;
        // 计算星期几
        week = (days + 7) % 7;
        switch (week) {
            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;
            case 6:
                printf("星期六\n");
                break;
        }
        return 0;
    }
    
    评论

报告相同问题?

问题事件

  • 创建了问题 10月30日