#include<stdio.h>
int main(){
int month_day[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int year,month,day;
int i;
scanf("%d%d%d",&year,&month,&day);
if(month<0||month>12)
printf("date error");
else{
for(i=1;i<month;i++){
day=day+month_day[i];
if (month==2&&((year%4==0 && year%100 !=0) || year%400==0))
day++;
}
}
printf("%d",day);
}
思路:将每个月的天数存入数组month_day中,例如month_day[2]的值是28,表示2月是28天。
7月13日是第几天?
for(月份1~6)
day=day+month_day[i];
然后考虑平年闰年情况,确定2月的天数。