练习一:使用switch和if else计算出运输公司对用户计算出运输费用和折扣,不同路程给到不同的折扣
路程 | 折扣 |
---|---|
路程<250 | 没有折扣 |
250<=路程<500 | 2%的折扣 |
500<=路程<1000 | 5%的折扣 |
1000<=路程<2000 | 8%的折扣 |
2000<=路程<3000 | 10%的折扣 |
路程<=3000 | 15%的折扣 |
使用switch的写法
#include<stdio.h>
int main()
{
// 计算出运输公司运输货物的费用和折扣
int km;//路程是多少
int unitprice=200;//每公斤货物的单价,每公斤货物重量是200元
int kg;//货物的重量
int price;//货物的总价格
float zhekou;
puts("请输入货物的重量是多少");
scanf("%d",&kg);
puts("请输入运输的路程是多少");
scanf("%d",&km);
switch(km/250)//根据路程选择折扣
{
case 0:
puts("路程小于250公里,没有折扣");
price=kg*unitprice;
printf("一共是需要%d元\n",price);
break;
case 1:
zhekou=0.02;
puts("路程超过250小于500,给到2%的折扣");
price=kg*unitprice;
price=price-(price*zhekou);
printf("一共是需要%d元\n",price);
break;
case 2:
case 3:
zhekou=0.05;
puts("路程大于等于500,小于1000给到5%的折扣");
price=kg*unitprice;
price=price-(price*zhekou);
printf("一共是需要%d元\n",price);
break;
case 4:
case 5:
case 6:
case 7:
puts("路程超过1000小于2000给到8%的折扣");
zhekou=0.08;
price=kg*unitprice;
price=price-(price*zhekou);
printf("一共是需要%d元\n",price);
break;
case 8:
case 9:
case 10:
case 11:
zhekou=0.1;
puts("路程超过2000小于3000给到10%");
price=kg*unitprice;
price=price-(price*zhekou);
printf("一共是需要%d元\n",price);
default:
puts("路程超过3000最大折扣给到15%");
zhekou=0.15;
price=kg*unitprice;
price=price-(price*zhekou);
printf("一共是需要%d元\n",price);
break;
}
return 0;
运行结果:
if else的写法
#include<stdio.h>
int main()
{
// 计算出运输公司运输货物的费用和折扣
int km;//路程是多少
int unitprice=200;//每公斤货物的单价,每公斤货物重量是200元
int kg;//货物的重量
int price;//货物的总价格
float zhekou;
puts("请输入货物的重量是多少");
scanf("%d",&kg);
puts("请输入运输的路程是多少");
scanf("%d",&km);
//使用if else 来写
if(km<250)
{
puts("路程是小于250km,折扣是0");
price=unitprice*kg;//单价乘以重量获得总价格
printf("计算出的费用是%d\n",price);
}else if(km>=250 && km<500)
{
zhekou=0.02;//折扣是2%
puts("路程在250到500之间折扣是2%");
price=unitprice*kg;
price=price-(price*zhekou);
printf("计算出的费用是%d\n",price);
}else if(km>=500 && km<1000)
{
zhekou=0.05;
puts("路程在500和1000之间折扣是%5");
price=unitprice*kg;
price=price-(price*zhekou);
printf("计算出的费用是%d\n",price);
}else if(km>=1000 && km<2000)
{
zhekou=0.08;
puts("路程在1000和2000之间的折扣是8%");
price=unitprice*kg;
price=price-(price*zhekou);
printf("计算出的费用是%d\n",price);
}else if(km>=2000 && km<3000)
{
zhekou=0.1;
puts("路程在2000和3000之间折扣是10%");
price=unitprice*kg;
price=price-(price*zhekou);
printf("计算出的费用是%d\n",price);
}
else{
zhekou=0.15;
puts("当距离为3000以及3000以上最大的折扣为15%");
price=unitprice*kg;
price=price-(price*zhekou);//总价减去折扣完成的价格
printf("计算出的费用是%d\n",price);
}
return 0;
}
运行结果: