• 智能AI问答!更聪明、更完整、原创作!
  • 一款基于GPT的超级AI机器人,可以回答问题、聊天、创作、写文案!

编写一个C程序,提示用户输入一个2024年的日期(几月几日),然后判断该日期是星期几。

发布于 2024-03-25 16:45:07

以下是一个用C语言编写的程序,可以实现您的需求:

#include <stdio.h>

// 判断是否为闰年
int isLeapYear(int year) {
    if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) {
        return 1;
    } else {
        return 0;
    }
}

// 计算日期对应的星期几
int calculateWeekday(int year, int month, int day) {
    int daysPerMonth[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    int totalDays = 0;

    for (int i = 1; i < year; i++) {
        totalDays += 365 + isLeapYear(i);
    }

    for (int i = 1; i < month; i++) {
        totalDays += daysPerMonth[i];
    }

    totalDays += day;

    // 2024年1月1日是星期二,所以加2
    return (totalDays + 2) % 7;
}

int main() {
    int year, month, day;

    printf("请输入一个2024年的日期(格式:月 日):");
    scanf("%d %d", &month, &day);

    if (month < 1 || month > 12 || day < 1 || day > 31) {
        printf("输入的日期无效!\n");
        return 0;
    }

    int weekday = calculateWeekday(2024, month, day);
    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;
        case 6:
            printf("该日期是星期六\n");
            break;
    }

    return 0;
}

您可以将以上代码保存为weekday.c文件,然后使用C编译器进行编译运行。程序会提示您输入一个日期(月 日),然后输出该日期对应的星期几。注意,该程序只适用于2024年的日期。

0 条评论

发布
问题

在线
客服