提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
关于不同地区的快递费用的计算的问题
一、题目是什么?
上海市的某快递公司根据投送目的地距离公司的远近,将全国划分成5个区域
快递费按邮件重量计算,由起重费用、续重费用两部分构成:
(1) 起重(首重)1公斤按起重资费计算(不足1公斤,按1公斤计算),超过首重的重量,按公斤(不足1公斤,按1公斤计算)收取续重费;
(2) 同城起重资费10元,续重3元/公斤;
(3) 寄往1区(江浙两省)的邮件,起重资费10元,续重4元;
(4) 寄往其他地区的邮件,起重资费统一为15元。而续重部分,不同区域价格不同:2区的续重5元/公斤,3区的续重6.5元/公斤,4区的续重10元/公斤。
二、解题思路
1.引入
代码如下:
#include<stdio.h>
#include<math.h>
int main()
{
/*********Begin*********/
int area;
float price=0,weight;
scanf("%d,%f",&area,&weight);
weight=ceil(weight);
if(area<0||area>4)
printf("Error in Area\nPrice: 0.00\n");
else if(area==0)
{
printf("Price: %.2f\n",10+(weight-1.0)*3.0);
}
else if(area==1)
{
printf("Price: %.2f\n",10+(weight-1.0)*4.0);
}
else if(area==2)
{
printf("price: %.2f\n",15+(weight-1.0)*5.0);
}
else if(area==3)
{
printf("Price: %.2f\n",15+(weight-1)*6.5);
}
else if(area==4)
{
printf("Price: %.2f\n",15+(weight-1)*10);
}
/*********End**********/
return 0;
}
## 2.
解题思路如下:首先,我们调用了数学函数,方便后面使用ceil函数(向上取整);其次,我们定义了地区,价格和重量 ,因为地区已经确定是整数所以我们用int,而价格和重量用实型float;接着,就是输入地区和快递重量,然后取整重量方便计算,使用if—else语句完整输出,期间注意if和else一一对应。
# 总结
这就是这道题的做法。