1052:计算邮资
【题目描述】
根据邮件的重量和用户是否选择加急计算邮费。计算规则:重量在1000克以内(包括1000克), 基本费8元。超过1000克的部分,每500克加收超重费4元,不足500克部分按500克计算;如果用户选择加急,多收5元。
【输入】
输入一行,包含整数和一个字符,以一个空格分开,分别表示重量(单位为克)和是否加急。如果字符是y,说明选择加急;如果字符是n,说明不加急。
【输出】
输出一行,包含一个整数,表示邮费。
【输入样例】
1200 y
【输出样例】
17
代码
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,sum;
char c;
cin>>n>>c;
if(n<=1000) sum=8;
else if(n>1000)
sum=8+ceil((n-1000)/500.0)*4;//向上取整函数
if(c=='y') sum+=5;
cout<<sum;
return 0;
}
本文详细解析了一种根据邮件重量及是否加急选择计算邮费的算法。算法中,基本费用设定为8元,适用于1000克及以下邮件。超出部分,每500克增加4元费用,不足500克按500克计费。若选择加急服务,额外收取5元。通过具体示例和C++代码实现,帮助读者理解算法的运作原理。
569

被折叠的 条评论
为什么被折叠?



