某网上购物网站对用户实行优惠,买家购物货款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;
}
}