注解
1、输入输出格式控制。输入用字符数组类型,判断是否以“-”开头,也就是判断是否合法,用flag标记记录。
2、如果合法,记录总时间,然后换算成分钟和秒再输出。输出时注意格式控制。
代码
#include <iostream>
using namespace std;
int main(){
int n;
double d;
scanf("%d %lf", &n, &d);
int t;
while(scanf("%d", &t)!=EOF){
int flag = 0;
char ch[10];
int sum = 0;
for(int i=0; i<n; i++){
scanf("%s", &ch);
if(ch[0]=='-'){
flag = 1;
}
else{
sum += (ch[0]-'0')*3600;
sum += ((ch[2]-'0')*10+(ch[3]-'0'))*60;
sum += (ch[5]-'0')*10+(ch[6]-'0');
}
}
printf("%3d: ", t);
if(flag){
printf("-\n");
}
else{
int avgSec = (int)(sum/d+0.5);
int avgMin = avgSec/60;
avgSec -= avgMin*60;
printf("%d:%02d min/km\n", avgMin, avgSec);
}
}
return 0;
}