目录
牛客_BC64 牛牛的快递(简单模拟)
描述
牛牛正在寄快递,他了解到快递在 1kg 以内的按起步价 20 元计算,超出部分按每 kg 1元计算,不足 1kg 部分按 1kg计算。如果加急的话要额外付五元,请问牛牛总共要支付多少快递费
输入描述:
第一行输入一个单精度浮点数 a 和一个字符 b ,a 表示牛牛要寄的快递的重量,b表示牛牛是否选择加急,'y' 表示加急 ,'n' 表示不加急。
输出描述:
输出牛牛总共要支付的快递费用
解析代码1
模拟:分情况讨论即可。
扩展两个库函数: ceil 和 floor (天花板和地板)。
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double a;
char b;
cin >> a >> b;
int ret = 0;
if (a <= 1)
{
ret += 20;
}
else
{
ret += 20;
a -= 1;
ret += ceil(a);
}
if (b == 'y')
{
ret += 5;
}
cout << ret << endl;
return 0;
}
解析代码2
#include <iostream>
using namespace std;
int main()
{
float x = 0;
char ch;
cin >> x >> ch;
int res = 20; // 起步20
if (x > 1.0)
{
res += x / 1 - 1;
if (x > int(x))
res += 1;
}
if (ch == 'y')
{
res += 5;
}
cout << res;
return 0;
}