hdu 1038 Biker's Trip Odometer(水题)

来源:互联网 发布:android编程权威指南3 编辑:程序博客网 时间:2024/05/04 15:32

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1038

Biker's Trip Odometer

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 5226    Accepted Submission(s): 3476


Problem Description
Most bicycle speedometers work by using a Hall Effect sensor fastened to the front fork of the bicycle. A magnet is attached to one of the spokes on the front wheel so that it will line up with the Hall Effect switch once per revolution of the wheel. The speedometer monitors the sensor to count wheel revolutions. If the diameter of the wheel is known, the distance traveled can be easily be calculated if you know how many revolutions the wheel has made. In addition, if the time it takes to complete the revolutions is known, the average speed can also be calculated.
For this problem, you will write a program to determine the total distance traveled (in miles) and the average speed (in Miles Per Hour) given the wheel diameter, the number of revolutions and the total time of the trip. You can assume that the front wheel never leaves the ground, and there is no slipping or skidding.
 

Input
Input consists of multiple datasets, one per line, of the form:

diameter revolutions time

The diameter is expressed in inches as a floating point value. The revolutions is an integer value. The time is expressed in seconds as a floating point value. Input ends when the value of revolutions is 0 (zero).
 

Output
For each data set, print:

Trip #N: distance MPH

Of course N should be replaced by the data set number, distance by the total distance in miles (accurate to 2 decimal places) and MPH by the speed in miles per hour (accurate to 2 decimal places). Your program should not generate any output for the ending case when revolutions is 0.

Constants

For p use the value: 3.1415927.
There are 5280 feet in a mile.
There are 12 inches in a foot.
There are 60 minutes in an hour.
There are 60 seconds in a minute.
There are 201.168 meters in a furlong.
 

Sample Input
26 1000 527.25 873234 300026 0 1000
 

Sample Output
Trip #1: 1.29 928.20Trip #2: 1179.86 1415.84
 

Source
Greater New York 2003
 

Recommend
We have carefully selected several similar problems for you:  1036 1064 1084 1031 1027 
 
题目大意:英文一大堆,没什么具体的含义,总之就是给出直径,圈数以及时间。求路程和速度。
解题思路:这题主要就是注意单位的换算。题目中直径给的是inche英尺,给的时间是second秒,但是最终要求的是路程是多少mile英里,速度求的是每hour 小时多少mile英里,只要把单位换算清楚就可以了,还有就是直径和时间是浮点型,圈数是整型。

详见代码。
#include <iostream>#include <cstdio>using namespace std;#define PI 3.1415927int main(){    double d,t;    int q;    double s;    double v;    int flag=1;    while (~scanf("%lf%d%lf",&d,&q,&t))    {        if (q==0)            break;        s=PI*d*q/(5280*12);        t/=3600;        v=s/t;        printf ("Trip #%d: %.2lf %.2lf\n",flag++,s,v);    }    return 0;}


0 0
原创粉丝点击