View Code of Problem 56

#include<stdio.h>
typedef struct time{
	int h;
	int m;
	int s;
}ti;
int main()
{
   ti t[2];
   ti ta;
   int i;
   int hh,mm,ss;
   for(i=0;i<2;i++)
   	 scanf("%d:%d:%d",&t[i].h,&t[i].m,&t[i].s);
   	if(t[0].h<t[1].h)
   	{
   		ta=t[0];
   		t[0]=t[1];
   		t[1]=ta;
	}
	else if(t[0].h==t[1].h)
	{
	  if(t[0].m<t[1].m)
   	  {
   		ta=t[0];
   		t[0]=t[1];
   		t[1]=ta;
	  }
	  else if(t[0].m==t[1].m)
	  {
	 	if(t[0].s<t[1].s)
	 	{
	 	  ta=t[0];
	 	  t[0]=t[1];
	 	  t[1]=ta;
		}
	  }
    }
    ss=t[0].s-t[1].s;
    mm=t[0].m-t[1].m;
    hh=t[0].h-t[1].h;
    if(ss<0)
    {
    	ss+=60;
    	mm-=1;
	}
	if(mm<0)
	{
		mm+=60;
		hh-=1;
	}
	printf("%d:",hh);
	if(mm>=0&&mm<=9)
	 printf("0%d:",mm);
	else
	 printf("%d:",mm);
	if(ss>=0&&ss<=9)
	 printf("0%d",ss);
	else
	 printf("%d",ss);
}

Double click to view unformatted code.


Back to problem 56