#include <stdio.h>

struct Date { int year; int month; int day; char weekday[10]; };

int main() { struct Date dates[12] = { {2020, 1, 1, 'Wednesday'}, {2020, 1, 2, 'Thursday'}, {2020, 1, 3, 'Friday'}, {2020, 1, 4, 'Saturday'}, {2020, 1, 5, 'Sunday'}, {2020, 1, 6, 'Monday'}, {2020, 1, 7, 'Tuesday'}, {2020, 1, 8, 'Wednesday'}, {2020, 1, 9, 'Thursday'}, {2020, 1, 10, 'Friday'}, {2020, 1, 11, 'Saturday'}, {2020, 1, 12, 'Sunday'} };

int count;
printf('请输入一个1~366之间的值:');
scanf('%d', &count);

if (count < 1 || count > 366) {
    printf('输入值无效!\n');
    return 0;
}

int year = dates[0].year;
int month = dates[0].month;
int day = dates[0].day;
char weekday[10];

int i;
for (i = 0; i < count - 1; i++) {
    day++;
    if (day > 31) {
        day = 1;
        month++;
    }
    if (month > 12) {
        month = 1;
        year++;
    }
}

struct Date date = {year, month, day, weekday};

switch (count % 7) {
    case 1:
        strcpy(date.weekday, 'Wednesday');
        break;
    case 2:
        strcpy(date.weekday, 'Thursday');
        break;
    case 3:
        strcpy(date.weekday, 'Friday');
        break;
    case 4:
        strcpy(date.weekday, 'Saturday');
        break;
    case 5:
        strcpy(date.weekday, 'Sunday');
        break;
    case 6:
        strcpy(date.weekday, 'Monday');
        break;
    case 0:
        strcpy(date.weekday, 'Tuesday');
        break;
}

printf('%d年%d月%d日-%s\n', date.year, date.month, date.day, date.weekday);

return 0;

}

C语言代码:将2020年1月1日至12月31日转换为年、月、日、星期

原文地址: https://www.cveoy.top/t/topic/pbH2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录