题意是求出跑了 n 圈每圈 m km 的个人的平均速度。
控制格式,特别注意,题意是输出 -:--:-- 的该人成绩作废,但要把他其他的成绩输进去,不能直接就 break ,输出也就只有一个 - ,而不是与作废圈数相等的 - 。
代码如下:
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 #include <bits/stdc++.h> 2 using namespace std; 3 int main() 4 { 5 int aa,bb,n,no; 6 double s,sec; 7 char a[10]; 8 bool f; 9 scanf("%d%lf",&n,&s); 10 while(~scanf("%d",&no)) 11 { 12 sec = 0; 13 f = false; 14 printf("%3d:",no); 15 for(int i = 0; i < n; ++i) 16 { 17 scanf("%s",a); 18 if(a[0]=='-') 19 { 20 f = true; 21 // break; 22 } 23 else sec += (a[0]-'0')*3600+(a[2]-'0')*600+(a[3]-'0')*60+(a[5]-'0')*10+(a[6]-'0'); 24 } 25 if(f) {puts(" -");continue;} 26 aa = (sec/s+0.5)/60; 27 bb = (int)(sec/s+0.5)%60; 28 printf("%2d:%02d min/km\n",aa,bb); 29 } 30 return 0; 31 }