现在90号汽油6.95元/升、93号汽油7.44元/升、97号汽油7.93元/升。为吸引顾客,某自动加油站推出了“自助服务”和“协助服务”两个服务等级,分别可得到5%和3%的折扣。
本题要求编写程序,根据输入顾客的加油量a,汽油品种b(90、93或97)和服务类型c(m - 自助,e - 协助),计算并输出应付款。
输入格式:
输入在一行中给出两个整数和一个字符,分别表示顾客的加油量a,汽油品种b(90、93或97)和服务类型c(m - 自助,e - 协助)。
输出格式:
在一行中输出应付款额,保留小数点后2位。
第一次错:
#include <stdio.h> void main() { int oil,kind; float discount=0.97,money; char type; scanf("%d%d %c",&oil,&kind,&type); if(type=='m') discount=0.95; if(kind==90) kind=(float)6.95;else if(kind==93) kind=(float)7.44;else kind=(float)7.93; money=oil*kind*discount; printf("%.2f",money); }
后来在断点调试时发现kind依然是整形7,即使加了(float)也不能改变类型。
所以又加了个unit浮点型:
#include <stdio.h> void main() { int oil,kind; float discount=0.97,money,unit=7.93; char type; scanf("%d%d %c",&oil,&kind,&type); if(type=='m') discount=0.95; if(kind==90) unit=6.95;else if(kind==93) unit=7.44; money=oil*unit*discount; printf("%.2f",money); }
来源:https://www.cnblogs.com/fake8864/p/12442056.html