c语言程序设计定义一个日期结构体类型包括年、月、日编写程序要求输入年月日输出该日在本年中第几天。输出格式:是d年第d天
#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;
}
``
原文地址: https://www.cveoy.top/t/topic/f4nj 著作权归作者所有。请勿转载和采集!