水题:主意输入字符串,变成数字,和输出格式就好
%d
%3d(3个字符对齐)
%03d(补0并对齐)
%.3f保留小数点后3位
四舍五入:加00.5取整就好
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int tt,n,flag,mi;
char s[15];
double d;
cin>>n>>d;
while(scanf("%d",&tt)!=EOF)
{
flag=0;
mi = 0 ;
for(int i=0;i<n;i++)
{
scanf("%s",s);
if(s[0]!='-')
{
int hhh=(s[0]-'0')*3600;
int mmm=((s[2]-'0')*10+(s[3]-'0'))*60;
int sss=(s[5]-'0')*10+(s[6]-'0');
mi+=hhh+mmm+sss;
}
else flag=1;//一开始神经病的多写了一个break;一直都没发现,唉!!
}
int ave=(int)((double)mi/d+0.5);
if(!flag)
printf("%3d: %d:%02d min/km\n",tt,ave/60,ave%60);
else printf("%3d: -\n",tt);
}
return 0;
}