/*
* poj2501.cpp
*
* Created on: 2010-8-5
* Author: friendy
*/
#include
#include
#include
using namespace std;
//这道题目主要考虑在开始没速度到时候要输出距离0
//另外距离要用double类型
int main() {
int i, sp, time, timeNow, len;
double dis = 0;
char s[100];
//读入第一次的速度
while (gets(s) != NULL) {
if (strlen(s) > 8)
break;
else
printf("%s 0.00 km/n", s);
}
//第一次到时间和速度
time = ((s[0] - '0') * 10 + s[1] - '0') * 3600 + ((s[3] - '0') * 10 + s[4]
- '0') * 60 + ((s[6] - '0') * 10 + s[7] - '0');
sp = 0;
i = 8;
len = strlen(s);
while (i < len) {
if (s[i] >= '0' && s[i] <= '9') {
sp = sp * 10 + (s[i] - 48);
}
i++;
}
//处理每一个过程
while (gets(s) != NULL) {
len = strlen(s);
timeNow = ((s[0] - '0') * 10 + s[1] - '0') * 3600 + ((s[3] - '0') * 10
+ s[4] - '0') * 60 + ((s[6] - '0') * 10 + s[7] - '0');
dis += (double)((timeNow - time) * sp) / 3600.0;
if (len == 8) {
printf("%s %.2f km/n", s, dis);
}
else {
i = 8;
sp = 0;
while (i < len) {
if (s[i] >= '0' && s[i] <= '9') {
sp = sp * 10 + (s[i] - 48);
}
i++;
}
}
time = timeNow;
}
return 0;
}
poj2501
最新推荐文章于 2019-03-23 09:46:23 发布
1351

被折叠的 条评论
为什么被折叠?



