#include <stdio.h>

struct date {
    int year;
    int month;
    int day;
};

int isLeapYear(int year) {
    return year % 4 == 0 && year % 100 != 0 || year % 400 == 0;
}

int getDayOfYear(struct date d) {
    int days[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    int dayOfYear = 0;
    for (int i = 1; i < d.month; i++) {
        dayOfYear += days[i];
    }
    dayOfYear += d.day;
    if (isLeapYear(d.year) && d.month > 2) {
        dayOfYear++;
    }
    return dayOfYear;
}

int main() {
    struct date d;
    printf("请输入年月日,格式为yyyy-mm-dd:");
    scanf("%d-%d-%d", &d.year, &d.month, &d.day);
    int dayOfYear = getDayOfYear(d);
    printf("是%d年第%d天\n", d.year, dayOfYear);
    return 0;
}
``
c语言程序设计定义一个日期结构体类型包括年、月、日编写程序要求输入年月日输出该日在本年中第几天。输出格式:是d年第d天

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

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