PTA 编程题(C语言)-- 计算油费

现在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

思路:本题没什么难度,用if-else if 或者switch都可以做。强调一下switch的语法,满足某个case时,执行完后面的语句,要加break; 才能跳过剩下的case。还有就是精度问题,float如果不行,就换double试试。

代码1:
#include 
int main () {
    int a,b;
    char c;
    double fee = 0;
    scanf("%d %d %c", &a, &b, &c);
    if (b == 90) fee = a*6.95;
    else if (b == 93) fee = a*7.44;
    else if (b == 97) fee = a*7.93;
    if (c == 'm') fee *= 0.95;
    else if (c == 'e') fee *= 0.97;
    printf("%.2f",fee);
    return 0;
}
代码2:
#include 
int main () {
    int a,b;
    char c;
    double fee;
    scanf("%d %d %c", &a, &b, &c);
    switch (b) {
        case 90: fee = a*6.95; break;
        case 93: fee = a*7.44; break;
        case 97: fee = a*7.93;          
    }
    if (c == 'm') fee *= 0.95;
    else if (c == 'e') fee *= 0.97;
    printf("%.2f",fee);
    return 0;
}

更多PTA题目的的参考代码,可以在下面的小程序里找到哦

PTA 编程题(C语言)-- 计算油费_第1张图片

你可能感兴趣的:(c语言)