HDU 1036(平均速度 **)
题意是求出跑了 n 圈每圈 m km 的个人的平均速度。
控制格式,特别注意,题意是输出 -:--:-- 的该人成绩作废,但要把他其他的成绩输进去,不能直接就 break ,输出也就只有一个 - ,而不是与作废圈数相等的 - 。
代码如下:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.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 }
日后若能有更好的想法,再来完善。
希望看到的大神不吝赐教 orz