一、题目链接
http://noi.openjudge.cn/ch0104/14/
二、解题思路
◎ 包裹总邮费由三部分构成:8元基础邮费、超重邮费、加急邮费,后两项需先判断再计算;
◎ 如果包裹重量大于1000,说明需要计算超重邮费如下:
→ 计算超重的重量;
→ 计算超重的重量对500的倍数,不足500的部分按500计算;
→ 倍数与4相乘,计算结果累加到总邮费上;
◎ 如果包裹需要加急服务:
→ 总邮费再累加5。
三、实施步骤
◎ 首先,定义并输入int类型的整数w,代表包裹重量;
◎ 其次,定义int类型的整数ans,代表总邮费,初始时ans为8;
◎ 然后,定义并输入char类型的字符c,标记包裹是否需要加急服务;
◎ 第四,如果w>1000:令w=w-1000,ans=ans+4*(int)ceil(w/500.0);
◎ 第五,如果c=='y':令ans=ans+5;
◎ 最后,输出ans。
四、C++程序
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int w;
cin >> w;
int ans = 8;
char c;
cin.get();
cin.get(c);
if (w > 1000)
{
w = w - 1000;
ans = ans + 4 * (int) ceil(w / 500.0);
}
if (c == 'y')
{
ans = ans + 5;
}
cout << ans;
return 0;
}