View Code of Problem 56

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
    int time1[3];
    int time2[3];
    scanf("%d:%d:%d",&time1[0],&time1[1],&time1[2]);
    scanf("%d:%d:%d",&time2[0],&time2[1],&time2[2]);
    printf("%d\n",time1[0]);
    int *t1 = time1;
    int *t2 = time2;
    int result[3];
    for(int i = 0;i<3;i++){
        if(t1[i] > t2[i]){
            t1 = time1;
            t2 = time2;
        }else if(t1[i]<t2[i]){
            t2 = time1;
            t1 = time2;
        }
    }
    for(int i = 2;i>=0;i--){
        if(t1[i] - t2[i] < 0){
            t1[i-1] = t1[i-1] - 1;
            if(t1[i-1]<0){
                t1[i-2] = t1[i-2]-1;
                t1[i-1] = t1[i-1]+60;
            }
            t1[i] = t1[i] + 60;
        }
        result[i] = t1[i] - t2[i];
    }
    for(int i = 0;i<3;i++){
        if(i == 0){
            printf("%d",result[0]);
        }else{
            if(result[i] < 10){
                printf("0%d",result[i]);
            }else{
                printf("%d",result[i]);
            }
        }
        if(i!=2){
            printf("%s",":");
        }
    }
	return 0;
}

Double click to view unformatted code.


Back to problem 56