求某年某月某日是这一年的第几天
利用返回结构体类型值的函数知识点实现
#include<stdio.h>
struct date
{
int day;
int month;
int year;
int year_day;
};
int day_tb[][12]={{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31,31,30,31,30,31}};
struct date day_of_year(struct date d)
{
int i,leap;
d.year_day=d.day;
leap=((d.year%4==0)&&(d.year%100==0))||(d.year%400==0);
for(i=0;i<d.month-1;i++)
{
d.year_day+=day_tb[leap][i];
}
return d;
}
int main()
{
struct date date;
scanf("%d%d%d",&date.day,&date.month,&date.year);
date=day_of_year(date);
printf("%d",date.year_day);
return 0;
}
运行结果: