C语言判断这一天是该年的第几天
#include
#include
typedef struct Data
{
int year;
int month;
int day;
} Data;
int calculate(Data data)
{
int num=0;
switch(data.month-1)
{
case 11:
num+=30;
case 10:
num+=31;
case 9:
num+=30;
case 8:
num+=31;
case 7:
num+=31;
case 6:
num+=30;
case 5:
num+=31;
case 4:
num+=30;
case 3:
num+=31;
case 2:
num+=28;
case 1:
num+=31;
}
return num;
}
int getDays(Data data)
{
int num=0;
if(data.month==1)
{
return num+data.day;
}
num=calculate(data);
if((data.year%4==0&&data.year%100!=0)||(data.year%400==0))
{
return num+1+data.day;
}
else//平年
{
return num+data.day;
}
}
int main()
{
int num=0;
Data data= {0,0,0};
scanf("%d %d %d",&data.year,&data.month,&data.day);
int days=getDays(data);
printf("%d ",days);
return 0;
}