//接口定义,year为年,date为天数,*nmonth是计算得出的月,*nday是计算得出的日
void month_day(int year, int date, int* nmonth, int* nday) {
int yu, hao;
int wang[2][13] = {
{0,31,28,31,30,31,30,31,31,30,31,30,31},
{0,31,29,31,30,31,30,31,31,30,31,30,31}, //定义数组存放闰年和平年的天数
};
hao = (year % 4 == 0 && year % 100 != 0) || year % 400 == 0; //闰年判别条件
for (yu = 1; date > wang[hao][yu]; yu++)
date -= wang[hao][yu];
*nmonth = yu;
*nday = date;
}
int main() {
int day, month, year, date; //定义日、月、年和天数的变量
printf("请输入年份和第几天:\n");
scanf_s("%d%d", &year, &date);
if (date >= 1 && year >= 1) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0 && date < 367) {
month_day(year, date, &month, &day);
printf("具体年、月、日如下:\n%d-%d-%d", year, month, day);
}
if (year % 4 != 0 && date < 366) {
month_day(year, date, &month, &day);
printf("具体年、月、日如下:\n%d-%d-%d", year, month, day);
}
}
else {
printf("搞事情是吧?这边给你强行退出!\n");
}
return 0;
}