邮政局计算寄往美国的国际物品快递资费

20 篇文章 1 订阅

邮政局计算寄往美国的国际物品快递资费,其计费规则如下:为首重1斤,基本资费240元;续重每斤75元;总重量超过20斤(包括20斤),运费有8折优惠。请编写一计算程序,输入重量,输出资费。

【实现提示】:

输入的重量以斤为单位,且允许有小数,不为整斤重量时,需取上整数计算资费。

【测试数据】   

重量(斤)

0.5

1

1.5

2

20

25

25.5

资费(元)

240

240

315

315

1332

1632

1692

 

我的之前的答案:
#include<iostream>
using namespace std;
int main()
{
	double weight=0,money=0;
	cout<<"请输入您需要邮寄的物件重量(斤)"<<endl;
	cin>>weight;
	if(weight<=1)
	{
	money=240;
	}
	else if(weight>1&&weight<20)
	{
	money=240+(weight-1)*75;
	}
	else
	{
		money=(240+(weight-1)*75)*0.8;
		cout<<"运费为:"<<money<<"元"<<endl;
	return 0;
}

我修改后的答案:

#include<iostream>
using namespace std;
int main()
{
	double weight=0,money=0;
	cout<<"请输入您需要邮寄的物件重量(斤)"<<endl;
	cin>>weight;
	if(int(weight)!=weight)
	{
		weight=int(weight)+1.0;
	}
	if(weight<=1)
	{
	money=240;
	}
	else if(weight>1&&weight<20)
	{
	money=240+(weight-1)*75;
	}
	else
	{
		money=(240+(weight-1)*75)*0.8;
	}
		cout<<"运费为:"<<money<<"元"<<endl;
	return 0;
}

我第一次写错的原因在于,不懂得如何处理当超出部分不满1斤时按1斤算。一直以为需要用到某个函数。。。

其实就是简单的,要是当整型的weight不等于双精度浮点型的weight时,就说明这时候的重量不是刚刚好是整数了,这时候就要加1.0了

输入25.5斤时的运行结果:



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值