
程序代码:
#include <stdio.h>
int isLeapYear;
void leap(int year)
{
if ( ((year%4)==0 && (year%100)!=0)
|| ((year%400)==0 && (year%3200)!=0)
|| (year%172800)==0
)
{
isLeapYear = 1;
}
else
{
isLeapYear = 0;
}
}
int sum_day(int month, int day)
{
int list[] = {0,366,335,307,276,246,215,185,154,123,93,62,32};
if (month<1 || month>12)
{
return -1;
}
return list[month]-day+((isLeapYear&&month<3)?1:0);
}
void main()
{
int year, month, day;
printf("输入一个年、月、日,例如 2021 11 15\n");
scanf("%d%d%d", &year, &month, &day);
leap(year);
printf("距离下一个年份还有 %d 天,今年%s闰年\n", sum_day(month, day), isLeapYear?"是":"不是");
}