69,336
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
typedef struct TimeData
{
int year,month,day;
}myTime;
int LeapYear(int year)
{
if(year%4==0 && year%100!=0 || year%400==0)
return 1;
else
return 0;
}
int CalculateDays(int year, int month, int day)
{
if( LeapYear(year)==1 )
if( month==1 )
return day;
else if( month==2 )
return 31+day;
else if( month==3 )
return 31+29+day;
else if( month==4 )
return 31*2+29+day;
else if( month==5 )
return 31*2+29+30+day;
else if( month==6 )
return 31*3+29+30+day;
else if( month==7 )
return 31*3+30*2+29+day;
else if( month==8 )
return 31*4+30*2+29+day;
else if( month==9 )
return 31*5+30*2+29+day;
else if( month==10 )
return 31*5+30*3+29+day;
else if( month==11 )
return 31*6+30*3+29+day;
else
return 31*6+30*4+29+day;
else
if( month==1 )
return day;
else if( month==2 )
return 31+day;
else if( month==3 )
return 31+28+day;
else if( month==4 )
return 31*2+28+day;
else if( month==5 )
return 31*2+30+28+day;
else if( month==6 )
return 31*3+30+28+day;
else if( month==7 )
return 31*3+30*2+28+day;
else if( month==8 )
return 31*4+30*2+28+day;
else if( month==9 )
return 31*5+30*2+28+day;
else if( month==10 )
return 31*5+30*3+28+day;
else if( month==11 )
return 31*6+30*3+28+day;
else
return 31*6+30*4+28+day;
}
int main()
{
myTime date1,date2;
printf("Input the date of your birthday (xxxx xx xx)\n");
scanf("%d %d %d",&date1.year,&date1.month,&date1.day);
printf("Input the date of \"today\"\n");
scanf("%d %d %d",&date2.year,&date2.month,&date2.day);
//判断闰年
int lower,upper,amount=0;
for(lower=date1.year,upper=date2.year;lower<upper;++lower)
if( LeapYear(lower)==1 )
++amount;
printf("tian shu:\n");
printf("%d\n",365*(date2.year-date1.year)+amount-(CalculateDays(date1.year,date1.month,date1.day)-1)+CalculateDays(date2.year,date2.month,date2.day));
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int argc, char* argv[])
{
time_t t_birthday,t_today;
struct tm time_birthday, time_today;
long live_time;
int year,month,day,year2,month2,day2;
printf("please input your birthday 'year' 'month' 'day'\n");
printf("please input today 'year' 'month' 'day'\n");
scanf("%d %d %d %d %d %d",&year,&month,&day,&year2,&month2,&day2);
time_birthday.tm_year = year-1900;
time_birthday.tm_mon = month ;
time_birthday.tm_mday = day;
time_birthday.tm_hour = 0;
time_birthday.tm_min = 0;
time_birthday.tm_sec = 0;
time_birthday.tm_isdst =0;
time_today.tm_year = year2-1900 ;
time_today.tm_mon = month2 ;
time_today.tm_mday = day2;
time_today.tm_hour = 0;
time_today.tm_min = 0;
time_today.tm_sec = 0;
time_today.tm_isdst =0;
t_birthday = mktime(&time_birthday);
t_today = mktime(&time_today);
live_time=difftime( t_today ,t_birthday );
printf("Live time:%d(Second)\t%d(Day)\n",live_time,(int)(live_time/86400));
live_time= t_today -t_birthday ;
printf("Live time:%d(Second)\t%d(Day)\n",live_time,(int)(live_time/86400));
system("pause");
return 0;
}
//---------------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int argc, char* argv[])
{
time_t t_birthday,t_today;
struct tm time_birthday, time_today;
double live_time;
int year,month,day,year2,month2,day2;
printf("please input your birthday 'year' 'month' 'day'\n");
printf("please input today 'year' 'month' 'day'\n");
scanf("%d %d %d %d %d %d",&year,&month,&day,&year2,&month2,&day2);
time_birthday.tm_year = year-1900;
time_birthday.tm_mon = month ;
time_birthday.tm_mday = day;
time_birthday.tm_hour = 0;
time_birthday.tm_min = 0;
time_birthday.tm_sec = 0;
time_birthday.tm_isdst = 0;
time_today.tm_year = year2-1900 ;
time_today.tm_mon = month2 ;
time_today.tm_mday = day2;
time_today.tm_hour = 0;
time_today.tm_min = 0;
time_today.tm_sec = 0;
time_today.tm_isdst = 0;
t_birthday = mktime(&time_birthday);
t_today = mktime(&time_today);
live_time=difftime( t_today ,t_birthday );
printf("Live time:%.0f(Second)\t%d(Day)\n",live_time,(int)(live_time/86400));
system("pause");
return 0;
}
//---------------------------------------------------------------------------