多分支复习

某网上购物网站对用户实行优惠,买家购物货款p越多,则折扣越多。

标准如下:

p<100元         没有折扣

100元≤p<200元       5%折扣

200元≤p<500元  8%折扣

500元≤p<1000元          10%折扣

1000元≤p               15%折扣



【提示】:从题意可以看出,折扣的变化是有规律的。当购物金额达到“100元”的2倍、5倍、10倍时,折扣值就会发生变化。假如一个变量c代表100的倍数,则当c<1时,无折扣;当1≤c<2时,折扣d=5%;当2≤c<5时,折扣d=8%;当5≤c<10时,折扣d=10%;当10≤c时,折扣d=15%。

注:程序中与价格相关的数据类型为float

程序运行结果示例1:


Input payment:90↙

price = 90.0

程序运行结果示例2:



Input payment:100↙

price = 95.0


程序运行结果示例3:



Input payment:300↙

price = 276.0

程序运行结果示例4:




Input payment:1000↙

price = 850.0



程序运行结果示例5:




Input payment:650.5↙

price = 585.5

输入提示:"Input payment:"

输入格式: "%f" 

输出格式:"price = %.1f\n"  (注:等号左右均有空格)
#include <stdio.h>
#include <math.h>
float PRICE(float money,int n);
int main()
{
    int n;
	float money,ret;
    printf("Input payment:");
    scanf("%f",&money);
	n=(int)money/100;
    ret=PRICE(money,n);
	printf("price = %.1f\n",ret);
	return 0;
}
float PRICE(float money,int n)
{
	float ret;
	switch(n)
	{
	case 0:
		return money;
		break;
	case 1:
		ret=money*0.95;
		return ret;
		break;
	case 2:
	case 3:
	case 4:
		ret=money *0.92;
		return ret;
		break;
	case 5:
	case 6:
    case 7:
	case 8:
	case 9:
		ret=money*0.9;
		return ret;
		break;
	default:
		ret=money*0.85;
		return ret;
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值