题目描述
Problem 1164 Average is not Fast Enough!
解题思路
整个赛道总长为d,分为n段接力,计算跑完整个赛道的平均速度。
因为 小时 的输入可能为数字或者为“-”,可以考虑存成字符。
注意结果要四舍五入。
参考代码
#include <stdio.h>
#include <math.h>
int main()
{
int n,num,i,m,s;
double d;
char h,str[10];
scanf("%d %lf",&n,&d);
while (~scanf(" %d",&num)){
bool flag = true;
int tot = 0;
for (i = 0;i < n;i++){
scanf(" %c",&h);
if (h == '-'){
flag = false;
scanf("%s",str);
}
else{
scanf(":%d:%d",&m,&s);
tot += (s + m*60 + (h - '0')*3600);
}
}
if (flag){
int ave = 1.0*tot / d + 0.5; //四舍五入
m = ave/60,s = ave%60;
printf("%3d: %d:%02d min/km\n",num,m,s);
}else
printf("%3d: -\n",num);
}
return 0;
}