年份代码计算年份的公式为整数怎么算

欢迎加入我们,一同切磋技术。 &
用户名: &&&
密 码: &
共有 6482 人关注过本帖
标题:,计算并输出旅途时间。
等 级:论坛游民
帖 子:42
专家分:49
结帖率:75%
&&已结贴√
&&问题点数:20&&回复次数:4&&&
,计算并输出旅途时间。
【问题描述】2.2.7 输入2个整数time1和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。有效的时间范围是(前两位表示小时,后两位表示分钟),不需要考虑出发时间晚于到达时间的情况。
【样例输入输出】(括号内为说明文字)
Enter time1: 712 (出发时间是7:12)
Enter time2: 1411 (到达时间是14:11)
The train journey time is 6 hours 59 minutes
自己设计了个程序可以实现,,但也不保证绝对能够包容所有输入,,程序代码:#include&stdio.h&
void main()
&&& int time1,time2,train_journey_time,m,n;
&&& printf(&Enter time1: (0000&time1&2359)&);
&&& scanf(&%d&,&time1);
&&& while(time1/<font color=#&=<font color=#||(time1/<font color=#&=<font color=#&&time1%<font color=#&<font color=#))
&&&&&&&&printf(&Input error! please input again:&);
&&&&&&&&scanf(&%d&,&time1);
&&& printf(&Enter time2: (0000&time2&2359)&);
&&& scanf(&%d&,&time2);
&&& while(time2/<font color=#&=<font color=#||(time2/<font color=#&=<font color=#&&time2%<font color=#&<font color=#))
&&&&&&&&printf(&Input error! please input again:&);
&&&&&&&&scanf(&%d&,&time2);
&&& if(time1%<font color=#&time2%<font color=#)
&&&&&&&&time2=(time2/<font color=#-<font color=#)*<font color=#+(time2%<font color=#+<font color=#);
&&& train_journey_time=time2-time1;
&&& m=train_journey_time/<font color=#;n=train_journey_time%<font color=#;
&&& printf(&The train journey time is %d hours %d minutes!\n&,m,n);
},代码如下,,,拿出来仅供大家交流,有好多方法,互相学习、
搜索更多相关主题的帖子:
&&&&&&&&&&
来 自:湖南桂东
等 级:职业侠客
帖 子:132
专家分:386
我还有一办法,就是把输入的时间全换算成分钟数,输出时再换算回来,是否简单点类。
等 级:蒙面侠
帖 子:1047
专家分:4132
&&得分:20&
我觉得应该在输入的时候就把time1与time2比较一下
最基础的往往是你最容易忽略的!
等 级:新手上路
需要考虑出发时间晚于到达时间又怎么办?
等 级:新手上路
我按照2楼的想法做了一个考虑出发时间晚于到达时间的C语言程序,如下,请指教:
#include&stdio.h&
&int main(void)
&&& int m,n,x,y,a,b,c;
&&& printf(&Enter time1:&);
&&& scanf(&%d&,&m);
&&& printf(&Enter time2:&);
&&& scanf(&%d&,&n);
&&& x=m/100*60+m%100;
&&& y=n/100*60+n%100;
&&& if(n&m)
&&& a=y-x;
&&& else a=1440-x+y;
&&&&&&&&b=a%60;
&&&&&&&&c=a/60;
&&& printf(&The train journey time is %d hours %d minutes&,c,b);
&&& return 0;
版权所有,并保留所有权利。
Powered by , Processed in 0.046628 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reserved如何不使用任何时间函数得到日期时间?想通过自己计算,
把一个整数转化为日期时间,
好像是通过毫秒的计算,
从 & 00:00:00时间点开始,
麻烦大家了,
多谢。。。
顺祝新年快乐!
回答1:每天有24*3600秒。所以首先将整数除以24*3600以及求关于24*3600的模。
这样就可以知道离 00:00:00有多少天加多少秒。
根据一天里面离0点多少秒很容易计算出时间,就不用介绍了吧.
而根据天数计算年月日,也不是很难,我们需要了解一下韵年的规律就可以了。
所以每400年,总共有99+400*365天,根据这个可以先计算出过了多少个400年(呵呵,对于我们现在常用的日期,这个部分应该都是0)
然后对于不超过400年的,开始30年(不包含2000年)有7个韵年,所以是30*365+7天。
可以计算出在2000年后还是2000年前
后面部分,第一个100年24个韵年为100*365+24天,后面每100年为25个韵年为100*365+25天,可以计算出到底在2000年后又过了多少个100年余多少天。
对于余下的天数,每4年一个韵年,可以计算出年份。
找出年份后,然后确定这个年份是否韵年,以及在当前年份还余多少天,根据每月天数确定月份和日期。
回答2:这是我的日期函数库的一部分,希望对你有所帮助
&datetime.h &
int main()
unsigned y,m,d,h,mi,s,
dt = Now();
DecodeDate(dt,&y,&m,&d);
DecodeTime(dt,&h,&mi,&s,&ms);
printf( &CurrentYear is %d\n &,CurrentYear());
printf( &Now is %lf\n &,(double)dt);
printf( &y=%d,m=%d,d=%d\n &,y,m,d);
printf( &h=%d,mi=%d,s=%d\n &,h,mi,s);
getchar();
/*{ Date/time support routines }*/
void DateTimeToTimeStamp(DateTime ADateTime,TimeStamp *ts)
//整数部分
//小数部分
p = modf(ADateTime,&ip); //分别取浮点数的整数部分和小数部分
ts-& ts_date = (int)ip + DateD
ts-& ts_time = (int)(p * MSecsPerDay);
void ValidateTimeStamp(TimeStamp ts)
if(ts.ts_time
& 0 || ts.ts_date
fprintf(stderr, &%d.%d is not a valid timestamp\n &,ts.ts_date,ts.ts_time);
DateTime TimeStampToDateTime(TimeStamp ATimeStamp)
ValidateTimeStamp(ATimeStamp);
dt = ATimeStamp.ts_date - DateD
dt += ATimeStamp.ts_time / (double)MSecsPerD
return ((DateTime) dt);
/*Time encoding and decoding*/
int TryEncodeTime(unsigned Hour,unsigned Min,unsigned Sec,unsigned MSec,DateTime *Time)
& HoursPerDay) && (Min
& MinsPerHour) && (Sec
& SecsPerMin) && (MSec
& MSecsPerSec))
*Time = (Hour * (MinsPerHour * SecsPerMin * MSecsPerSec) +
Min * (SecsPerMin * MSecsPerSec) +
Sec * MSecsPerSec +
MSec) / (double)MSecsPerD
return (1);
return (0);
DateTime EncodeTime(unsigned Hour,unsigned Min,unsigned Sec,unsigned MSec)
if(TryEncodeTime(Hour,Min,Sec,MSec,&dt))
fprintf(stderr, &EncodeTime():Invalid argument to time encode.\n &);
void DecodeTime(DateTime ADateTime,unsigned *Hour,unsigned *Min, unsigned *Sec,unsigned *MSec)
DateTimeToTimeStamp(ADateTime,&ts);
msecCount = ts.ts_
*MSec = msecCount % MSecsPerS
msecCount /= MSecsPerS
*Sec = msecCount % SecsPerM
msecCount /= SecsPerM
*Min = msecCount % MinsPerH
*Hour = msecCount / MinsPerH
/*Date encoding and decoding*/
int LeapYear(unsigned year)
if( year & 3 ) /*如果不能被4整除*/
return( 0 );
if( year % 100 != 0 ) /*能被4整除但不能被100整除*/
return ( 1 );关于公元前公元后的年份在几世纪是怎么计算的_其他_奇飞知识网
关于公元前公元后的年份在几世纪是怎么计算的
来源:|人气:350 ℃|类别:|时间: 04:56:44
问题:关于公元前公元后的年份在几世纪是怎么计算的
年份除以100,得到的商取整数部分加1,最后得到的和是几,就是公元前几世纪。公元后的年代也可以这样算。比如公元前450年,【450/100】+1=5(【】是取整符号),那么公元前450年就是公元前5世纪;再比如公元2015年,【】+1=21,所以2015年就是21世纪。 匿名用户
按照年份数前两位加一。如2015年就是21世纪 匿名用户
||||点击排行

我要回帖

更多关于 计算年份的公式 的文章

 

随机推荐