ProblemD: 商品促销折价
题目描述
现有商场进行降价促销,当购买商品总额在[100,200]之间时,折扣为95折,即总价=95%*总额,购买商品大于200元时,折扣为92折,购买金额不足100元时,无折扣。请编写程序计算需要支付的实际费用。
在程序的主函数中输入购买各个商品的费用总额(一组小数,以空格分隔,以'\n'或EOF结束输入,最多支持100件商品),请编写名为calPrice的函数计算实际费用,要求其函数原型为:
float calPrice(float price);
其中:形参price为各个商品的折扣前费用总额。返回为需要支付的实际费用。
在程序主函数中输出费用总额及实际费用,如:“167.00 158.65”。注意需要精确到分(小数点后两位),两数之间用两个制表符分隔。
输入
一组小数,以空格分隔,以'\n'或EOF结束,程序最多支持100件商品
输出
两个制表符分隔的消费总额及折扣后的实际费用,每条消费信息显示为一行结果。
样例输入
167 78.3
样例输出
167.00 158.65 78.30 78.30
看代码:
#include<stdio.h>
float calPrice(float price);
float calPrice(float price){
if(price>=100&&price<=200)
price=price*0.95;
if(price>200)
price=price*0.92;
if(price<100)
price=price;
return price;
}
int main(){
float price;
while(scanf("%f",&price)!=EOF){
printf("%.2f\t\t%.2f\n",price,calPrice(price));
}
}
这道题偏基础概念,比如制表符怎么写,如何保留两位小数,其他的再没啥了,还有要注意EOF的正确书写与使用。
scanf(%d,a)!=EOF
~scanf(%d,a) 两种方式都可以