1050:骑车与走路
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 108190 通过数: 62297
【题目描述】
在清华校园里,没有自行车,上课办事会很不方便。但实际上。并非去办任何事情都是骑车快,因为骑车总要找车、开锁、停车、锁车等,这要耽误一些时间。假设找到自行车,开锁并骑上自行车的时间为27秒;停车锁车的时间为23秒;步行每秒行走1.2米,骑车每秒行走3.0米。请判断走不同的距离去办事,是骑车快还是走路快。如果骑车快,输出一行"Bike";如果走路快,输出一行"Walk";如果一样快,输出一行"All"。
【输入】
输入一行,包含一个整数,表示一次办事要行走的距离,单位为米。
【输出】
输出一行,如果骑车快,输出一行"Bike";如果走路快,输出一行"Walk";如果一样快,输出一行"All"。
【输入样例】
120
【输出样例】
Bike
【思路分析】
-
导入需要的头文件
<bits/stdc++.h>
和命名空间using namespace std;
。 -
声明变量
a
、b
和n
,分别用来存放骑车所需的总时间、走路所需的总时间和待办事项的距离。 -
通过
cin
输入一次办事要行走的距离,赋值给变量n
。 -
根据题目中给出的条件,计算骑车所需的总时间
a
:- 骑车每秒行走 3.0 米,因此需要行走的时间为
n / 3.0
秒; - 开锁并骑上自行车的时间为 27 秒;
- 停车锁车的时间为 23 秒。
所以,骑车所需的总时间为
a = n / 3.0 + 27 + 23
。 - 骑车每秒行走 3.0 米,因此需要行走的时间为
-
根据题目中给出的条件,计算走路所需的总时间
b
:- 走路每秒行走 1.2 米,因此需要行走的时间为
n / 1.2
秒。
- 走路每秒行走 1.2 米,因此需要行走的时间为
-
利用
if-else if-else
条件判断语句进行比较:- 如果
a > b
,即骑车所需的总时间大于走路所需的总时间,输出 "Walk"; - 如果
a < b
,即骑车所需的总时间小于走路所需的总时间,输出 "Bike"; - 如果
a == b
,即骑车所需的总时间等于走路所需的总时间,输出 "All"。
- 如果
【示例代码】
// 导入必要的头文件
#include<bits/stdc++.h>
using namespace std;
int main()
{
// 定义变量
double a,b,n;
// 输入一次办事要行走的距离
cin>>n;
// 根据规定的时间计算骑车所需的总时间
a = n/3.0 + 27 + 23;
// 根据规定的时间计算走路所需的总时间
b = n/1.2;
// 判断哪种方式更快,输出对应的结果
if(a > b)
{
cout<<"Walk"<<endl;
}
else if(a < b)
{
cout<<"Bike"<<endl;
}
else if(a == b)
{
cout<<"All"<<endl;
}
return 0;
}