C语言利用函数和结构体:计算某日期是当年第几天

#include <stdio.h>
static int day_tab[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};
struct date {
    int year;int month;int day;
};
int day_of_year(struct date pd);
main()
{
    struct date pd;
    //day_of_year(struct pd);
    printf("输入:年  月   日");
    scanf("%d%d%d",&pd.year,&pd.month,&pd.day);
    printf("the day of year:%d",day_of_year(pd));
    getchar();
 }
 
int day_of_year(struct date pd)
 {
     int day,year,leap,i,month;
    day=pd.day;
     year=pd.year;
     month=pd.month;
     leap=year%4==0&&year%100!=0 || year%400==0;
     for(i=0;i<month;i++)
     {
     day+=day_tab[leap][i];
    }            
     return day;
 }

 

posted @ 2022-09-08 15:29  myrj  阅读(77)  评论(0编辑  收藏  举报