#include <stdio.h>
int main(int argc, char *argv[])
{
int year, month, day;
int m[13] = {0,31,28,31,30,
31,30,31,31,30,
31,30,31}; //存放一年中12个月的信息,其中0为了计算1月用的
int i,n = 0; //i判断是那个月,n代表一年的天数
scanf("%d %d %d", &year, &month, &day); //输入年 月 日,中间使用空格隔开
for(i = 1; i<month; i++) //判断是一年中的那个月,累加前面的天数
n+=m[i];
n+=day;
if((year%4 == 0 && year%100 !=0 || year%400 == 0)&&month >=3) //判断闰年,闰年天数加1
n++;
printf("n = %d\n",n);
return 0;
}
首先,需要了解闰年的定义,四年一闰,百年不闰,四百年再闰,判断是否是闰年
先判断是一年中的那个月,通过数组中存放的数据,计算出一年中的天数,之后判断是否为闰年,闰年加1天。