水题,考察数位分离,和格式控制,没什么做的必要。
#include<stdio.h>
int main()
{
int n;
double d;
int num;
char h, MinA, MinB, SecA, SecB;
scanf("%d", &n);
scanf("%lf", &d);
while (scanf("%d", &num) != EOF)
{
printf("%3d: ", num);
bool flag = true;
int time = 0;
for (int i = 0; i<n; i++)
{
getchar();
scanf("%c:%c%c:%c%c", &h, &MinA, &MinB, &SecA, &SecB);
if (h == '-') flag = false;
if (flag == false)continue;
time += (h - '0') * 3600 + ((MinA - '0') * 10 + (MinB - '0')) * 60 + (SecA - '0') * 10 + (SecB - '0');
}
if (flag == false)printf("-\n");
else
{
double t1 = time / d;
int t2 = (int)(t1 + 0.5);
printf("%d:%02d min/km\n", t2 / 60, t2 % 60);
}
}
return 0;
}