前言
运输公司对用户计算运输费用。路程(s km)越远,每吨·千米运费越低。(用switch实现) 标准如下: s < 250 没有折扣 250≤s < 500 2%折扣 500≤s < 1000 5%折扣 1000≤s < 2000 8%折扣 2000≤s < 3000 10%折扣 3000≤s 15%折扣 解题思路: 设每吨每千米货物的运费为x,货物重为y,路程为s,折扣为d 总运费f的计算公式为 f = x×y×s×(1-d/100) 将路程情况化简
程序源码
#include
int main ()
{
int c,s;
float p,w,d,f;
printf("please enter price,weight,discount:");//提示输入的数据
scanf("%f,%f,%d",&p,&w,&s); //输入单价,重量,距离
if(s >= 3000)
c = 12; //3000km以上为同一折扣
else
c = s / 250; //3000km以下各段折扣不同,c的值不同
switch(c)
{
case 0:
d = 0;
break; //c=0,代表250km以下,折扣d=0,
case 1:
d = 2;
break; //c=2,代表250~500km以下,折扣d=2%
case 2:
case 3:
d = 5;
break; //c=5,代表500~1000km以下,折扣d=5%
case 4:
case 5:
case 6:
case 7:
d = 8;
break; //c=8,代表1000~2000km以下,折扣d=8%
case 8:
case 9:
case 10:
case 11:
d = 10;
break; //c=10,代表2000~3000km以下,折扣d=10%
case 12:
d = 15;
break; //c=15,代表3000km以上,折扣d=15%
}
f = p * w * s * (1-d/100); //计算总费用
printf("freight=%10.2f\n",f); //输出总费,用取两位小数
return 0;
}
|