流程控制if和switch的作业

练习一:使用switch和if else计算出运输公司对用户计算出运输费用和折扣,不同路程给到不同的折扣

路程折扣
路程<250没有折扣
250<=路程<5002%的折扣
500<=路程<10005%的折扣
1000<=路程<20008%的折扣
2000<=路程<300010%的折扣
路程<=300015%的折扣

使用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;
}

运行结果:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值