按时分秒的时间表示形式(即hh : mm : ss)键盘输入两个时间,计算两个时间之间相差多少小时,

按时分秒的时间表示形式(即hh: mm : ss)键盘输入两个时间,计算两个时间之间相差多少小时,多少分钟和多少秒。c语言程序设计,,就现在跪求,,拜托了

首先,换算成秒。两个,HH:MM:SS,相对于00:00:00 差了HH*3600+MM*60+SS秒。如果跨了天,那要其它考虑。比如 16:13:12 和09:15:22 相差了( 16*3600+13*60+12)-(9*3600+15*60+22)秒。

然后,我们得到了25070 换成时间 25070/3600 取整。那就是6。
(25070-6*3600)/60=57.8 取整就是57分。
25070-6*3600-57*60=50 秒。

所以相差 6小时57分50秒。
别迟疑了。快开始编程吧。这样动手能力才能得到加强的哦。追问

我还是没懂,,555~~~

追答

这个问题的核心在于,取整操作,忽略掉了细节。比如对小时取整,就忽略了分和秒。依次类推。
如果你要程序,我就帮你写一个。只是我感觉还是自己研究下能加强对时间的理解。

追问

帮我写一下吧,,我慢慢理解,,我才是个大一的,,不懂,,拜托了

追答

好的,程序我会用另一种方式来实现。刚刚的算法并不严谨。不过我不会写C。只会C#。

追问

太感谢了,,只要编译成功就好,,嘿嘿,,非常感谢

追答

这个算法是采取退位相减的做法,时间复杂度其实差不多。不过更简单。 

num1,num2保存了两个时间的时分秒。

代码必须装VS2010才能打开。所以贴了关键代码,应该C语言实现也不难。

//为了讲解方便,下面不采取循环,一步一步手工操作
           int second = num1[2] - num2[2];
           if (second < 0)
           {
               second += 60;
               num1[1] -= 1;//这里是,减不尽的话,就向前一个借一位。比如,秒减秒,变成负数,就向被减数的分,借一位。60进制。
           }

           int min = num1[1] - num2[1];
           if (min < 0)
           {
               min += 60;
               num1[0] -= 1;
           }

           int hour = num1[0] - num2[0];


温馨提示:内容为网友见解,仅供参考
第1个回答  2014-03-30
C 还是 C#

...mm : ss)键盘输入两个时间,计算两个时间之间相差多少小时,
首先,换算成秒。两个,HH:MM:SS,相对于00:00:00 差了HH*3600+MM*60+SS秒。如果跨了天,那要其它考虑。比如 16:13:12 和09:15:22 相差了( 16*3600+13*60+12)-(9*3600+15*60+22)秒。然后,我们得到了25070 换成时间 25070\/3600 取整。那就是6。(25070-6*3600...

...SS),程序输出该时间一秒后的时间。显示格式HH:MM:SS. 程序需要_百...
需要进位 hh=0;\/\/小时数清0 } } } printf("%02d:%02d:%02d\\n",hh,mm,ss);\/\/按规定格式输出时分秒 return 0;}运行结果 23:59:5900:00:00

如何用wps表格求得时间差并且显示时分秒?
首先进入自定义格式设置,将目标单元格格式调整为“[h]:mm:ss”。此操作达成后,时间差将清晰地以时分秒形式展示。若需使用公式计算并显示时间差,可采用以下公式:=TEXT(B2-A2,"[h]:mm:ss")。请留意,此公式生成的时间为文本格式,若计划进行进一步计算或统计,应先行转换格式。两种方法独立操作,...

C语言, time.h 新手问题
对time_t数据类型的值来说,它所表示的时间不能晚于2038年1月18日19时14分07秒。为了能够表示更久远的时间,一些编译器厂商引入了64位甚至更长的整形数来保存日历时间。比如微软在Visual C++中采用了__time64_t数据类型来保存日历时间,并通过_time64()函数来获得日历时间(而不是通过使用32位字的time()函数),这...

如何计算两个时间之间的小时数
计算小时差的公式: =(B1-A1)*24 但要先格式化 A1 、B1 ,不然EXCEL会不认识 先设定相关单元格格式为日期,具体格式LZ可以自己选 比如:yyyy"年"m"月"d"日" hh:mm:ss 输入时,年月日之间使用短连字符 - ,时分秒之间输入英文的冒号 :比如:2010-4-7 23:56:21 现在可以使用公式计算了 ...

EXCEL中 如何将[h]:mm:ss格式 (ps带日期的) 转化为时间活数字模式
所以建议先将时分秒用公式h.hh=h+m\/60+s\/3600转换成小时,按照通常方式计算合计和平均就可以了。如果需要以时分秒表示的,可以用公式反向转化。假设你的“1分18秒22”在A1,那么在A2输入以下公式转换为1.30611。=LEFT(A1,FIND("分",A1)-1)+MID(A1,FIND("分",A1)+1,FIND("秒",A1)-FIND(...

如何在Excel里显示带时分秒的时间,像这样的YYYY-MM-DD HH24:MI:SS
设置单元格格式,自定义,YYYY-MM-DD HH:Mm:SS

excel怎么计算两个日期之间天数和时间计算
二、时间计算 对于时间的计算,Excel同样提供了相应的功能。假设需要计算两个具体时间点之间的时间差:1. 在同一单元格内输入两个时间点,格式为YYYY-MM-DD HH:MM:SS。2. 使用减法运算,例如“=结束时间-开始时间”,Excel会自动计算时间差并显示为时分秒的格式。如果结果为正数表示未来的时间差,如果...

如果是很多时间差需要计算,怎样用excel换算?如2011-1-2 12:32和2011...
计算时间差,请具体说明。将单元格格式设为自定义,类型为:[h]:mm:ss,然后两时间相减,可算出时间差,显示为时分秒格式。给你几个计算时间的公式参考,你可灵活组合:A1是2011-1-2 12:32 B1是2011-1-5 5:25 两时间总天数:=INT(B1-A1)两时间总小时数=INT((B1-A1)*24)两时间不...

excel里:小时:分钟:秒格式下 加减秒数的计算方法或和公式
2、按回车键; C1单元格即显示出结果:19:30:05。TEXT(A1-B1\/24\/60\/60,"hh:mm:ss") 中"TEXT"和"hh:mm:ss"是指把计算结果设置成”"hh:mm:ss"格式,也就是小时:分钟:秒。“B1\/24\/60\/60”B1是单元格,\/24\/60\/60指的是小时、分钟、秒。比如,要计算分钟的,那么,只要“\/24\/60...

相似回答