题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=1036
这个题输出太恶心了,前面占了格%3d输出
然后注意转换精度就ok了,+0.5
AC代码:
#include <iostream> #include <cstdio> #include <cstdlib> #include <cmath> #include <cstring> #include <string> #include <vector> #include <list> #include <deque> #include <queue> #include <iterator> #include <stack> #include <map> #include <set> #include <algorithm> #include <cctype> using namespace std; typedef long long LL; const int N=22222; const LL II=1000000007; char ss[N]; int main() { int i,j,T,k,n; double dis; scanf("%d%lf",&n,&dis); while(cin>>k) { int flag=0,m,s; char h; int sum=0; for(i=0;i<n;i++) { getchar(); scanf("%c",&h); if(h=='-') { gets(ss);//这个地方一定要读完 flag=1;break; } scanf(":%d:%d",&m,&s); sum+=(h-'0')*3600+m*60+s;//转化为秒 } if(flag==1) { printf("%3d: -\n",k); continue; } int miao=int(sum/dis+0.5);//向上取整 printf("%3d: %d:%02d min/km\n",k,miao/60,miao%60); } return 0; }