前言
运输公司对用户计算运输费用。路程(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<stdio.h>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以上为同一折扣elsec = 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;}