山理oj 1177 时间间隔

解法一:

#include<stdio.h>
int main()
{
 int a,b,c,d,e,f;
 scanf("%d:%d:%d",&a,&b,&c);
 scanf("%d:%d:%d",&d,&e,&f);
 if(a>d)
 {
  if(b>e)
  {
   if(c>=f) printf("%02d:%02d:%02d",a-d,b-e,c-f);
   else printf("%02d:%02d:%02d",a-d,b-e-1,c-f+60);
  }
  if(b==e)
  {
   if(c>=f) printf("%02d:%02d:%02d",a-d,0,c-f);
   else printf("%02d:%02d:%02d",a-d-1,59,c-f+60);
  }
  if(b<e)
  {
   if(c>=f) printf("%02d:%02d:%02d",a-d-1,b-e+60,c-f);
   else printf("%02d:%02d:%02d",a-d-1,b-e+60-1,c-f+60);
  }
 }
 if(a==d)
 {
  if(b>e)
  {
   if(c>=f) printf("%02d:%02d:%02d",0,b-e,c-f);
   else printf("%02d:%02d:%02d",0,b-e-1,c-f+60);
  }
  if(b==e)
  {
   if(c>=f) printf("%02d:%02d:%02d",0,0,c-f);
   else printf("%02d:%02d:%02d",0,0,f-c);
  }
  if(b<e)
  {
   if(c>f) printf("%02d:%02d:%02d",0,e-b-1,f-c+60);
   if(c<f) printf("%02d:%02d:%02d",0,e-b,f-c);
   if(c==f) printf("%02d:%02d:%02d",0,e-b,0);
  }
 }
 if(a<d)
 {
  if(b>e)
  {
   if(c>f) printf("%02d:%02d:%02d",d-a-1,e-b+60-1,f-c+60);
   if(c<f) printf("%02d:%02d:%02d",d-a-1,e-b+60,f-c);
   if(c==f) printf("%02d:%02d:%02d",d-a-1,e-b+60,0);
  }
  if(b==e)
  {
   if(c>f) printf("%02d:%02d:%02d",d-a-1,59,f-c+60);
   if(c<f) printf("%02d:%02d:%02d",d-a,0,f-c);
   if(c==f) printf("%02d:%02d:%02d",d-a,0,0);
  }
  if(b<e)
  {
   if(c>f) printf("%02d:%02d:%02d",d-a,e-b-1,f-c+60);
   if(c<f) printf("%02d:%02d:%02d",d-a,e-b,f-c);
   if(c==f) printf("%02d:%02d:%02d",d-a,e-b,0);
  }
 }

return 0;

}

解法二:

#include<stdio.h>
int main()
{
 int a,b,c,d,e,f,g,h,t,m;
 scanf("%02d:%02d:%02d",&a,&b,&c);
 scanf("%02d%02d%02d",&e,&f,&g);
 d=a*3600+b*60+c;
 h=e*3600+f*60+g;
 if(h>d) t=h-d;
 else t=d-h;
 h=t/3600;
 f=t/60%60;
 m=t%60;
 printf("%02d:%02d:%02d",h,f,m);
 return 0;
}

posted @ 2019-09-30 00:20  John-C  阅读(150)  评论(0编辑  收藏  举报