C语言高手来帮个忙!COME!COME!GO GO GO!

来源:百度知道 编辑:UC知道 时间:2024/09/23 04:00:58
帮我做道题 (代码不要太复杂,我是新手深刻的看不懂)
题目如下:
输入某年某月某日,判断这一天是这一年的第几天。需要考虑输入的年份是否是闰年。
哎..全看不懂...太迷茫了...

//---------------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void init(struct tm *dat,unsigned long int date)
{
long int day;
ldiv_t fj;
dat->tm_hour=23;
dat->tm_min=59;
dat->tm_sec=0;
fj=ldiv(date,10000);
dat->tm_year=fj.quot-1900;
fj=ldiv(fj.rem,100);
dat->tm_mon=fj.quot-1;
dat->tm_mday=fj.rem;
day=mktime(dat);
dat=gmtime(&day);
}

int main(int argc, char* argv[])
{
struct tm *dat;
unsigned long int date;
int y,m,d;

dat=malloc(sizeof(struct tm));
scanf("%ld",&date);
init(dat,date);
printf("%d\n",dat->tm_yday+1);
free(dat);
system("pause");

return 0;
}
//---------------------------------------------------------------------------

输入8位日期(如2007