按照老师的思路写的,简单些
#include<stdio.h>
int main()
{
int y,m,d,s,i;
scanf("%d %d %d",&y,&m,&d);
s=0;
for(i=1;i<m;i++)
{
if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
s=s+31;
else if(i==4||i==6||i==9||i==11)
s=s+30;
else if(i==2)
{
if(y%400==0||(y%4==0&&y%100!=0))
s=s+28;
else
s=s+29;
}
}
s=s+d;
printf("%d\n",s);
return 0;
}
自己写的,有点复杂
#include<stdio.h>
int main()
{
int t,y,d,m[13],i,j,k,u;
scanf("%d",&t);
while(t--)
{
int j=0;
int m[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
scanf("%d%d%d",&y,&u,&d);
if(y%400==0||y%4==0)
{
for(i=1;i<=u;i++)
{
j=j+m[i-1];
k=j+d;
}
}
else
{
if(u==1)
k=d;
else if(u==2)
k=31+d;
else if(u>2)
{
for(i=1;i<=u;i++)
{
j=j+m[i-1];
k=j+d-1;
}
}
}
printf("%d\n",k);
}
return 0;
}