POJ 2501 Average Speed(不错的一道水题)

来源:互联网 发布:沧州加工中心编程招聘 编辑:程序博客网 时间:2024/05/22 07:46

【题目简述】:给出我们时间和速度,让我们求出走了多远的距离

【分析】:这道题开始的时候没有太明白什么时候输出,后来看了别人的题解就明白了。

关于此题的几点总结:

1、时间的输入方法:scanf("%d:%d:%d",&h,&m,&s),注意积累!

2、关于空格的的输入控制使用char ch = getchar(),同时它还作为了本题的一个是否输出的标识控制的条件。

3、多积累类似题目的方法。


代码参考http://blog.csdn.net/yujuan_mao/article/details/8121584,他的代码很简单明了。

// 144K 0Ms#include<iostream>using namespace std;int cal(int h,int m,int s){      return h*3600+m*60+s;  }int main(){int h,m,s;      double speed=0;      double ans=0;      int last=0;     while(scanf("%d:%d:%d",&h,&m,&s)!=EOF)    {    char ch = getchar();    if(ch == ' ')    {    int a;    scanf("%d",&a);    int now = cal(h,m,s);    ans += (now - last)*speed;    last = now;    speed = a/3.6;    }    else    printf("%02d:%02d:%02d %.2f km\n",h,m,s,((cal(h,m,s)-last)*speed+ans)/1000);    }    return 0;}


0 0
原创粉丝点击