#include <stdioh>
int main(void)
{ float cost;
float discount,pay;
printf("请输入购物金额:");
scanf("%f",&cost);
if(cost>=0)//购物金额大于等于0
{
if(cost>=0&&cost<100)//购物金额为小于100
discount=1;
else if(cost>=100&&cost<300)//购物金额大于等于100小于300
discount=09;
else if(cost>=300&&cost<500)//购物金额大于等于300小于500
discount=08;
else //购物金额大于等于500
discount=075;
pay=costdiscount;
printf("当购物金额是%2f,折扣为%2f,实际付款%2f\n",cost,discount,pay);
/switch语句实现/
printf("使用switch语句:\n");
int num=cost/100;//对cost/100取整(例如cost=150,num=1)确定所在的区间范围
switch(num){
case 0: discount=1;break;//购物金额为小于100
case 1: discount=09;break;
case 2: discount=09;break;//case 1,2为购物金额大于等于100小于300
case 3: discount=08;break;
case 4: discount=08;break;//case 3,4为购物金额大于等于300小于500
default: //购物金额大于等于00
discount=075;break;}
pay=costdiscount;
printf("当购物金额是%2f,折扣为%2f,实际付款%2f\n",cost,discount,pay);}
else //购物金额小于0
printf("输入有误,cost必须满足大于等于0");
return 0;
}
先分析
如果是普通客户:
那么当购物的价格满100元则打折9折;最后的付款将是购物价的90%;
如果是会员:
那么当购物价格满200元则打折75,不满的打折8,所以最终付款需要根据购物价来打折。
代码判断如下:
int salePrice = N; //购物的价格float payPrice; //最后的付款金额
bool isVIP = true/false; //是否是会员
if(isVIP)
{
if(salePrice>=100)
{
payPrice = salePrice 09;
}
else
{
payPrice = salePrice;
}
}
else
{
if(salePrice>200)
{
payPrice = salePrice 075;
}
else
{
payPrice = salePrice 08;
}
}
应付金额:
<input name="textfield" type="text" id="TruePrice" width="30px" maxlength="10" onchange="GetPrice();" />
打折:
<select name="select" id="zhe" onchange="GetPrice();">
<option value="one">一折</option>
<option value="five">五折</option>
<option value="seven">七折</option>
<option value="eight">八折</option>
<option value="nine">九折</option>
</select>
实收金额:
<input name="textfield2" type="text" id="Discount" width="30px" maxlength="10" />
因无开发工具就写了JS
<script type="text/javascript">
function GetPrice()
{
var TruePrice=documentgetElementById("TruePrice")value; //应收金额
var Zhe=documentgetElementById("zhe"); //打折
var calue=Zheoptions[ZheselectedIndex]text;
switch (calue)
{case "一折":
calue="01";
break;
case "五折":
calue="05";break;
case "七折":
calue="07";break;
case "八折":
calue="08";break;
case "九折":
calue="09";break;
}
var a=Number(calue)Number(TruePrice);
documentgetElementById("Discount")value=a; //实收金额
}
</script>
在C#的开发环境中可以在打折这个下拉框的一个Select事件中进行计算
运行的结果,下面是程序,你试试吧
#include <stdioh>main()
{
int leixing = 0;
double jine = 00;
printf("\n");
printf(" 1 普通客户\n");
printf(" 2 VIP 客户\n");
printf("\n");
printf("请输入客户类型:_");
scanf("%d",&leixing);
//满200减50;满300减80;满500减150;满700减200;满1000减300
printf("请输入购物金额:");
scanf("%lf",&jine);
if(jine > 1000)
jine = jine-300;
else
if(jine > 700)
jine = jine-200;
else
if(jine > 500)
jine = jine-150;
else
if(jine > 300)
jine = jine-80;
else
if(jine > 200)
jine = jine-50;
if(leixing == 1)
printf("该客户为 普通客户,所需支付的实际金额为 %lf 元。\n",jine);
if(leixing == 2)
printf("该客户为 VIP 客户,所需支付的实际金额为 %lf 元。\n",jine09);
}
#include
<stdioh>
void
main()
{
int
a;
float
p,d,f;
scanf("%f",&p);
a=p/100;
switch(a){
case
0
:
printf("%f",p);break;
case
1
:
printf("f=%f,p=%f,d=%f",p-p(50/1000),p,p(50/1000));break;
default
:printf
("qing
zai
shu
ru\n");
}
里面的语句块我就不再写了反正都一样~你应该会写对吧~
int ShoudPay(int value)
{
if(value < 500)
return value;
else if(value >=500 && value < 2000)
return value - 50;
else
return (int )(value 08f);
}
原文没有提到 1000 - 2000,不科学。不可能500 - 1000的都减价,1000 - 2000的不减,
当然 如果你是做题 的话 请严格按照题意
以上就是关于C语言求 ②某商场给出的购物折扣率如下: 购物金额<100元,不打折; 100元≦购物金额<30全部的内容,包括:C语言求 ②某商场给出的购物折扣率如下: 购物金额<100元,不打折; 100元≦购物金额<30、用c语言 if结构来回答.普通顾客购物满100元 享受9折优惠。会员购物满200、C#商店计费打折小程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)