帮我做一下这道题 C语言的

2025-05-16 18:08:04
推荐回答(3个)
回答1:

#include
main()
{
float sprice=0,sumprice=0;
int num=0;
printf("输入商品单价:\n");
scanf("%f",&sprice);
flushall();
printf("输入商品数量:\n");
scanf("%d",&num);
flushall();
sumprice=sprice*num;
switch((int)(sprice)/200)
{
case 0:break;
case 1:sumprice*=0.98;break;
case 2:sumprice*=0.95;break;
case 3:sumprice*=0.9;break;
case 4:sumprice*=0.85;break;
default:sumprice*=0.8;
}
printf("总价为%.2f元\n",sumprice);
}
以上是用switch语句实现的
#include
main()
{
float sprice=0,sumprice=0;
int num=0;
printf("输入商品单价:\n");
scanf("%f",&sprice);
flushall();
printf("输入商品数量:\n");
scanf("%d",&num);
flushall();
sumprice=sprice*num;
if(sumprice<200)
sumprice*=1;
else if(sumprice>=200&&sumprice<400)
sumprice*=0.98;
else if(sumprice>=400&&sumprice<600)
sumprice*=0.95;
else if(sumprice>=600&&sumprice<800)
sumprice*=0.9;
else if(sumprice>=800&&sumprice<1000)
sumprice*=0.85;
else
sumprice*=0.8;
printf("总价为%.2f元\n",sumprice);
}
以上是用ifelse语句实现的,都通过vc6.0的调试了

回答2:

int main()
{
float price = 0;
float icnt = 0;
float sum;
int reduceId;

printf("请输入单价和数量用空格隔开\n");
scanf("%f%f",&price,&icnt);

sum = price*icnt;
if(sum >= 200 && sum < 400)
{
reduceId = 1;
}
else if(sum >= 200 && sum < 400)
{
reduceId = 2;
}
else if(sum >= 400 && sum < 600)
{
reduceId = 3;
}
else if(sum >= 600 && sum < 800)
{
reduceId = 4;
}
else if(sum >= 1000)
{
reduceId = 5;
}
else{}
switch(reduceId)
{
case 1:
sum = sum * 0.98;
break;
case 2:
sum = sum * 0.95;
break;
case 3:
sum = sum * 0.90;
break;
case 4:
sum = sum * 0.85;
break;
case 5:
sum = sum * 0.8;
break;
}
printf("销售金额为%f\n",sum);
return 0;
}
记事本随便写的,请运行下

回答3:

#include
#include

int main()
{
float money,realMoney,sum;
int number;
int i;
printf("please input the money and number(such as 35.8 10):\n");
scanf("%f%d",&money,&number);
i=((int)money/100)/2;
//if begin
if(i==0)
realMoney=money;
else if(i==1)
realMoney=money*0.98;
else if(i==2)
realMoney=money*0.95;
else if(i==3)
realMoney=money*0.90;
else if(i==4)
realMoney=money*0.85;
else
realMoney=money*0.80;
//if end

//switch begin
/*
switch(i)
{
case 0:
realMoney=money;
break;
case 1:
realMoney=money*0.98;
break;
case 2:
realMoney=money*0.95;
break;
case 3:
realMoney=money*0.90;
break;
case 4:
realMoney=money*0.85;
break;
default:
realMoney=money*0.80;
break;
}*/
//switch end
sum=realMoney*number;
printf("The total price of goods is: %f\n",sum);
return 0;
}