题目描述
大多数自行车速度表通过使用固定在自行车前叉上的霍尔效应传感器来工作。 磁铁安装在前轮上的一个辐条上,使其在车轮每转一圈时与霍尔效应开关对齐一次。速度计监控传感器以计算车轮转数。如果已知车轮的直径,知道车轮产生了多少转数,则可以轻松计算行驶距离。另外,如果知道完成转数所花费的时间,也可以计算平均速度。对于这个问题,您将编写一个程序,根据车轮直径,转数和行程总时间确定行驶的总行驶距离(以英里为单位)和平均速度(以每小时英里数计算)。您可以假设前轮永远不会离开地面,并且没有滑动或打滑。
输入
输入由多个数据集组成,每行一个,形式为:直径、转数、时间,直径以英寸为单位,为浮点值。转数是整数值。时间以秒为单位,为浮点值。当转数值为0(零)时,输入结束。
输出
对于每个数据集,输出:
Trip #N:距离 MPH
N应该由数据集编号替换,距离为以英里为单位的总距离(精确到2位小数)和MPH是以每小时英里数为单位的速度(准确到小数点后两位)。当转数为0时,程序结束,并不需要任何输出。常量p的值:3.1415927。 1英里=5280英尺。1英尺=12英寸。1小时=60分钟。1分钟=60秒。1弗隆=201.168米。
样例输入
26 1000 5 27.25 873234 3000 26 0 1000
样例输出
Trip #1: 1.29 928.20 Trip #2: 1179.86 1415.84
上代码
代码
#include <bits/stdc++.h> //万能头文件
using namespace std;
//直径d的单位是英寸
//时间t以秒为单位
int main(){
int z,m=1; //定义转数
float d,t,p=3.1415927; //定义直径、时间、数据集、Π
while(scanf("%f %d %f",&d,&z,&t)!=EOF&&z!=0){
float jv=0,mph=0; //定义距离、MPH
jv=d*p*z; //以英寸为单位的距离
jv=jv/12/5280; //距离换算单位
t=t/60/60; //时间单位换算
mph=jv/t; //求速度
printf("Trip #%d: %.2f %.2f\n",m,jv,mph); //输出
m+=1; //增加数据集数
}
return 0;
}