1.题目描述
根据邮件的重量和用户是否选择加急计算邮费。计算规则:重量在1000克以内(包括1000克), 基本费8元。超过1000克的部分,每500克加收超重费4元,不足500克部分按500克计算;如果用户选择加急,多收5元。
输入
输入一行,包含整数和一个字符,以一个空格分开,分别表示重量(单位为克)和是否加急。如果字符是y,说明选择加急;如果字符是n,说明不加急。
输出
输出一行,包含一个整数,表示邮费。
样例输入
1200 y
样例输出
17
2、题目分析
先对邮件重量进行判断进行哪种计费方式,之后考虑是否加急情况,其中不足500克部分按500克计算,可以将其理解为求大于等于超出1000克的部分的重量除以500克的值的最小整数
3、代码实现
#include<iostream>
#include<math.h>
using namespace std;
int main(void)
{
int a,sum;
char c;
cin>>a>>c;
//判断邮费a
if(a>1000)
sum=8+ceil((a-1000)/500.0)*4;
else
sum=8;
//判断是否加急
if(c=='y')
sum=sum+5;
else
sum=sum;
cout<<sum<<endl;
}
仅供参考
4、测试结果
1200 y
17
--------------------------------
Process exited after 8.885 seconds with return value 0
请按任意键继续. . .