首先判断该年是闰年还是平年,两者就只有2月天数不同,定义两个一维数组分别存储闰年的12月每月的天数和平年的12月每月的天数,如果是1月直接输出day的值,其他分别为前几个月份天数的和再加上day数。
#includeint main() { int year,month,day,i,sum=0; int N[12]={31,28,31,30,31,30,31,31,30,31,30,31}; int D[12]={31,29,31,30,31,30,31,31,30,31,30,31}; printf("请输入年月日:n"); scanf("%d %d %d",&year,&month,&day); if((year% 4==0) && (year%100 != 0) || (year%400 == 0)){ if(month==1){ printf("是该年的第%d天n",day); return 0; } for(i=0;i sum+=D[i]; } }else { if(month==1){ printf("是该年的第%d天n",day); return 0; }else{ for(i=0;i sum+=N[i]; } } } printf("是该年的第%d天.n",sum+day); return 0; }



