水题。。随便写写了
#include<stdio.h>
#include<string.h>
static int get_time(char *s)
{
int hh = (s[0] - '0') * 10 + s[1] - '0';
int mm = (s[3] - '0') * 10 + s[4] - '0';
int ss = (s[6] - '0') * 10 + s[7] - '0';
return hh * 3600 + mm * 60 + ss;
}
int main()
{
char s[20];
int prev = 0, time;
double speed = 0, sum = 0, temp;
while (gets(s) != NULL)
{
time = get_time(s);
sum += (time - prev) * speed / 3600.0;
prev = time;
if (strlen(s) == 8)
printf("%s %.2lf km\n", s, sum);
else
{
sscanf(s, "%*s %lf", &temp);
speed = temp;
}
}
return 0;
}