方法一
#include<stdio.h>
int main()
{
int month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int i,y,m,d,day=0;
scanf("%d %d %d",&y,&m,&d);
if(y%400==0 || (y%100!=0&&y%4==0))
{
month[2]+=1;
}
for(i=0;i<m;i++)
{
day+=month[i];
}
day+=d;
printf("%d",day);
return 0;
}
方法二 switch写法
#include<stdio.h>
int main()
{
int y,m,d,sum=0,flag=0;
scanf("%d %d %d",&y,&m,&d);
switch(m)
{
case 1:sum=0;break;
case 2:sum=31;break;
case 3:sum=59;break;
case 4:sum=90;break;
case 5:sum=120;break;
case 6:sum=151;break;
case 7:sum=181;break;
case 8:sum=212;break;
case 9:sum=243;break;
case 10:sum=273;break;
case 11:sum=304;break;
case 12:sum=334;break;
default:sum=0;break;
}
if((y%400==0)||(y%100!=0&&y%4==0))
flag=1;
if(m>2 && flag)
{
sum+=1;
}
sum+=d;
printf("%d",sum);
return 0;
}