某加油站有89号、92号和95号三种汽油,售价分别为5.88、6.28、6.68(元/升),提供了“加油员加油”或“自助加油”两个服务等级,这样用户可以得到2%或5%的优惠。试编程实现针对用户输入加油量x,汽油的品种y和服务的类型z,输出用户应付的金额。写c语言代码
时间: 2024-12-06 11:33:52 浏览: 25
在C语言中,我们可以创建一个函数来计算用户的应付金额。这里假设用户输入的是整数,对于浮点价格,我们需要在实际应用中进行适当的处理以保持精度。下面是一个简单的示例代码:
```c
#include <stdio.h>
// 定义油价和折扣率
float gas_prices[] = {5.88, 6.28, 6.68};
int discounts[] = {0, 2, 5}; // 对应于2%和5%
// 计算最终价格的函数
float calculate_total(float price, int discount) {
return price * (1 - discount / 100);
}
// 主函数
int main() {
float x, y;
int z;
// 输入加油量、汽油种类和服务等级
printf("请输入加油量(升): ");
scanf("%f", &x);
printf("请输入汽油种类(89、92或95): ");
scanf("%f", &y); // 注意这里是浮点数,但此处直接输入数字即可
printf("请输入服务等级(0: 加油员加油,1: 自助加油): ");
scanf("%d", &z);
// 根据用户选择调整价格并计算总费用
float total_price = calculate_total(gas_prices[(int)y - 1], discounts[z]);
printf("用户应付的金额: %.2f 元\n", total_price); // 打印结果保留两位小数
return 0;
}
```
请注意,在实际项目中,你需要处理输入验证(如检查汽油种类是否合法,服务等级是否有效等),以及可能需要将价格转换为货币格式显示。
阅读全文