输入你的生日 再输入某个年月日 用c语言 计算出它是你生命中的第几天

输入你的生日 再输入某个年月日 计算出它是你生命中的第几天 用C语言写 高人来帮忙啊 有高分 写的好追分

下面算“今天”是第几天。
如果要算某天,你只要输出年月日,再调YMD_hhmmss_2_s70 得 time_t 值(代替 now) 就可以了。方法同生日转bt.

# include <stdio.h>
# include <time.h>
time_t YMD_hhmmss_2_s70(int Y, int M, int D, int hh, int mm, int ss){
struct tm *target_tm;
time_t tt;
time (&tt);
target_tm=localtime(&tt);
target_tm->tm_year = Y - 1900;
target_tm->tm_mon= M - 1;
target_tm->tm_mday = D;
target_tm->tm_hour = hh; // hour
target_tm->tm_min = mm;
target_tm->tm_sec = ss;
tt = mktime(target_tm); // from tm to time_t (s)
return tt;
}

main()
{
int b_year,b_month,b_day;
time_t bt, now;
long double dif;
int d;
now = time(NULL);
printf("input b_year, month,day\n");
scanf("%d %d %d",&b_year,&b_month,&b_day);
bt = YMD_hhmmss_2_s70( b_year,b_month,b_day, 0, 0, 1);
dif = difftime (now,bt);
d = (int) (dif / 86400.0);
printf("days: %d\n",d);
}
==
时间函数运用方法可见我的百度空间
温馨提示:答案为网友推荐,仅供参考
相似回答