现在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位。
输入样例:
40 97 m
输出样例:
301.34
采用switch语句的代码:
#include <stdio.h>
int main()
{
int a,b;
char c,m,e;
double price,sum;
scanf("%d %d %c",&a,&b,&c);
switch(b) //根据选择哪种汽油进行相应价格计算
{ case 90:price=6.95*a;break;
case 93:price=7.44*a;break;
case 97:price=7.93*a;break;
}
switch(c) //根据不同服务等级再计算不同折扣后价格
{
case 'm':sum=(1-0.05)*price;break;
case 'e':sum=(1-0.03)*price;break;
}
printf("%.2lf",sum);
return 0;
}
采用if语句的代码:
#include<stdio.h>
int main(){
int a,b;
char c;
double s;
scanf("%d %d %c",&a,&b,&c);
if(c=='m'){
if(b==90)
s=0.95*6.95*a;
if(b==93)
s=0.95*7.44*a;
if(b==97)
s=0.95*7.93*a;
}
else if (c=='e'){
if(b==90)
s=0.97*6.95*a;
if(b==93)
s=0.97*7.44*a;
if(b==97)
s=0.97*7.93*a;
}
printf("%.2lf",s);
return 0;
}