题目
http://acm.hdu.edu.cn/showproblem.php?pid=1036
总结
这里输入的格式有很多种,也发现好多人的AC代码都是cout输入,但我还是习惯用scanf,毕竟比较熟悉~~
AC代码
#include <stdio.h>
int main()
{
int n,num,flag,x,y,z;
double sum,d;
char str[20];//直接string好像不行
scanf("%d %lf",&n,&d);
while(scanf("%d",&num)!=-1)
{
flag=sum=0;//flag放在外面的话好像结果就不对
for(int i=0;i<n;i++)
{
if(scanf("%d:%d:%d",&x,&y,&z)==3)//有多少个%数字就是多少不然程序就有问题
sum+=x*3600+y*60+z;
else
{
scanf("%s",str);//这里的字符串输入也不能忽略
flag=1;
}
}
if(!flag)
{
sum=sum/d+0.5;//通过加0.5取整来四舍五入
printf ("%3d: %d:%02d min/km\n",num,int(sum/60),int(sum)%60);
//%3d(3个字符对齐(没有就会补空格));%03d(补0并对齐)
}
else
printf("%3d: -\n",num);
}
return 0;
}