View Code of Problem 56

#include<bits/stdc++.h>
using namespace std;
#define max 22
int main(){
	int h1,m1,s1,h2,m2,s2;
	int a[max],b[max];
	int result = 0;
	scanf("%d:%d:%d",&h1,&m1,&s1);
	scanf("%d:%d:%d",&h2,&m2,&s2);
	int sum1 = s1+m1*60+h1*60*60,sum2 = s2+m2*60+h2*60*60;
	
	
	if(sum1>sum2){   //判断时间的前后   大————》迟 
		while(h1>h2||m1>m2||s1>s2){
			result++;
			s2++;
			if(s2==60){
				s2=0;
				m2++;
			}
			if(m2==60){
				m2 = 0;
				h2++;
			}
		}			
	}else{
		while(h2>h1||m2>m1||s2>s1){
			result++;
			s1++;
			if(s1==60){
				s1=0;
				m1++;
			}
			if(m1==60){
				m1 = 0;
				h1++;
			}
		}	
	} 
	int hour = 0,min = 0,sec = 0;
	hour = result/3600;
	min = (result-(hour*3600))/60;
	sec = result - hour*3600 - min *60;
	printf("%d:%02d:%02d",hour,min,sec);
	
	return 0;
} 

Double click to view unformatted code.


Back to problem 56