一年之中,只有二月份的时间是不固定的,所以可以用一维数组来存放每月的天数,二月份天数由这个式子决定:year%4==0&&year%100!=0或者year%400==0
#include<stdio.h>
int main()
{
int year, month, day, i, j;
int arr[] = { 31,0,31,30,31,30,31,30,31,30,31,30,31,30 };
printf("input year,month,day:");
scanf("%d %d %d", &year, &month, &day);
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
arr[1] = 29;
else arr[1] = 28;
j = day;
for (i = 0; i < month - 1; i++)
j = j + arr[i];
printf("这天这年的第%3d天",j);
return 0;
}