#include #include #include float fround(float c){ if(c - floor(c) < 0.5) return floor(c); else return ceil(c); } int main(){ FILE *input; float dist,f_sec; int n,i,j,k,team,hour,min,sec,s_hour,s_min,s_sec,a_min,a_sec,fail; char str[1024]; input = fopen("average.in","r"); memset(str,0,1024); fgets(str,1024,input); sscanf(str,"%d %f",&n,&dist); memset(str,0,1024); while(fgets(str,1024,input) != NULL){ j = 3; str[j] = 0; team = atoi(str); s_hour = s_min = s_sec = a_sec = a_min = fail = 0; for(i = 0;i < n;i++){ k = j + 1; j = j + 8; str[j] = 0; if(str[k] == '-') fail = 1; sscanf(&str[k],"%d:%d:%d",&hour,&min,&sec); s_hour = s_hour + hour; s_min = s_min + min; s_sec = s_sec + sec; } if(fail == 0){ f_sec = (s_sec + 60*s_min + 3600*s_hour) / dist; a_sec = fround(f_sec); a_min = a_sec / 60; a_sec = a_sec % 60; printf("%3d: %d:%02d min/km\n",team,a_min,a_sec); } else printf("%3d: -\n",team); } fclose(input); return 0; }