编写c++程序,当用户输入两个时刻(采用24小时制,精确到秒)之后,输出这两个时刻的时间差
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编写c++程序,当用户输入两个时刻(采用24小时制,精确到秒)之后,输出这两个时刻的时间差相关的知识,希望对你有一定的参考价值。
#include <iostream>#include <cmath>
using namespace std;
class Time
private:
int h,m,s;
public:
Time(int h1,int m1,int s1)
h=h1;m=m1;s=s1;
friend int text(Time &t1,Time &t2);
;
int text(Time &t1,Time &t2)
int l1;
l1=abs((t1.h-t2.h)*60*60+(t1.m-t2.m)*60+t1.s-t2.s);
return l1;
int main()
int h1,m1,s1,h2,m2,s2;
while(cin>>h1>>m1>>s1>>h2>>m2>>s2)
Time t1(h1,m1,s1);
Time t2(h2,m2,s2);
cout<<h1<<":"<<m1<<":"<<s1<<"-"<<h2<<":"<<m2<<":"<<s2<<"="<<text(t1,t2)<<endl;
return 0;
//试着运行一下吧!
参考技术A
CTime t1(2014, 9, 6, 0, 0, 0);
CTime t2(1999, 3, 20, 22, 14, 44);
CTimeSpan ts = t1 - t2;
CString s = ts.Format(_T("days: %D, hours: %H, mins: %M, secs: %S\\n"));
_tprintf_s(s);
[PTA]7-7 12-24小时制
编写一个程序,要求用户输入24小时制的时间,然后显示12小时制的时间。
输入格式:
输入在一行中给出带有中间的:符号(半角的冒号)的24小时制的时间,如12:34表示12点34分。当小时或分钟数小于10时,均没有前导的零,如5:6表示5点零6分。
提示:在scanf的格式字符串中加入:,让scanf来处理这个冒号。
输出格式:
在一行中输出这个时间对应的12小时制的时间,数字部分格式与输入的相同,然后跟上空格,再跟上表示上午的字符串AM或表示下午的字符串PM。如5:6 PM表示下午5点零6分。注意,在英文的习惯中,中午12点被认为是下午,所以24小时制的12:00就是12小时制的12:0 PM;而0点被认为是第二天的时间,所以是0:0 AM。
输入样例:
21:11
输出样例:
9:11 PM
- 提交结果:
- 源码:
#include<stdio.h>
int main(void)
{
int hour, minute;
scanf("%d:%d", &hour, &minute);
if (hour >= 0 && hour < 12)
{
printf("%d:%d AM\\n", hour, minute);
}
else if (hour == 12)
{
printf("%d:%d PM\\n", hour, minute);
}
else
{
printf("%d:%d PM\\n", hour % 12, minute);
}
return 0;
}
以上是关于编写c++程序,当用户输入两个时刻(采用24小时制,精确到秒)之后,输出这两个时刻的时间差的主要内容,如果未能解决你的问题,请参考以下文章