C语言:计算两个时间的时间间隔

C语言实验题――时间间隔

描述

从键盘输入两个时间点(同一天,24小时制),输出两个时间点之间的时间间隔,时间间隔用“小时:分钟:秒”表示。

输入

输入包括两行。
第一行为时间点1。
第二行为时间点2。

输出

以“小时:分钟:秒”的格式输出时间间隔。
格式参看输入输出。

样例输入

样例输出

#include

typedef struct Time{
	int h,m,s;
}Time;
/*
	描述时间的结构体 
*/
/*
	输入时间函数 
*/
void ReadTime(Time *time)
{
	scanf("%d:%d:%d",&time->h,&time->m,&time->s);
}
/*
	输出时间函数 
*/
void PrintTime(Time *time)
{
	printf("%d:",time->h);
	if(time->m<10)
		printf("0");
	printf("%d:",time->m);
	if(time->s<10)
		printf("0");
	printf("%d",time->s);	
}
//计算两个时间只差 
void TimeSub(Time *time1,Time *time2,Time *time)
{
	long t1,t2,t;
	t1=time1->h * 3600 + time1->m *60 + time1->s;
	t2=time2->h * 3600 + time2->m *60 + time2->s;
	t=t1-t2;//将时间转化为秒 
	if(t<0)
		t=t*(-1);
	//将秒转化为时间 
	time->h= t/3600;
	time->m= (t-time->h*3600)/60;
	time->s= t%60; 
}
int main()
{
	Time time1,time2,time;
	ReadTime(&time1);//读时间 
	ReadTime(&time2);//读第一个时间 
	TimeSub(&time1,&time2,&time);//计算减法 
	PrintTime(&time);//返回一个时间 
	return 0;
 }

 

你可能感兴趣的:(C)