下面是一个用C语言编写的程序,它可以根据输入的加油量、汽油品种和服务类型来计算并输出应付款额。 ```c #include <stdio.h> int main() { int a, b; // 加油量和汽油品种 char c; // 服务类型 double price_per_liter, discount, total_cost; // 输入加油量、汽油品种和服务类型 scanf("%d %d %c", &a, &b, &c); // 根据汽油品种确定单价 switch (b) { case 90: price_per_liter = 6.95; break; case 93: price_per_liter = 7.44; break; case 97: price_per_liter = 7.93; break; default: printf("Invalid fuel type\n"); return 1; } // 根据服务类型确定折扣 if (c == 'm') { discount = 0.05; // 自助服务 5% 折扣 } else if (c == 'e') { discount = 0.03; // 协助服务 3% 折扣 } else { printf("Invalid service type\n"); return 1; } // 计算总成本 total_cost = a * price_per_liter * (1 - discount); // 输出应付款额,保留小数点后2位 printf("%.2f\n", total_cost); return 0; } ``` 说明: 1. 输入部分: - `scanf` 函数用于读取用户输入的加油量 `a`、汽油品种 `b` 和服务类型 `c`。 2. 单价确定: - 使用 `switch` 语句根据输入的汽油品种 `b` 确定每升汽油的价格 `price_per_liter`。 3. 折扣确定: - 使用 `if-else` 语句根据输入的服务类型 `c` 确定折扣率 `discount`。 4. 总成本计算: - 总成本 `total_cost` 通过加油量 `a` 乘以每升价格 `price_per_liter` 再乘以折扣后的系数 `(1 - discount)` 计算得出。 5. 输出部分: - 使用 `printf` 函数输出应付款额,保留小数点后2位。 示例输入输出: - 输入:`10 93 m` - 输出:`67.18` 这个程序可以正确处理不同加油量、汽油品种和服务类型的情况,并输出相应的应付款额。 [2024-11-10 13:05:53 | AI写代码神器 | 596点数解答]