如果需要考虑折扣,应该如何修改这个程序?
时间: 2024-09-26 10:09:25 浏览: 11
如果要考虑折扣,你可以添加一个折扣率作为输入或硬编码在程序中,并对最终价格做相应的调整。这里有一个简单的例子,让用户选择固定折扣或者输入自定义折扣百分比:
```c
#include <stdio.h>
#include <string.h>
const double oil_price_per_liter = 6.0; // 单价
double discount_rate;
int main() {
double fuel_amount;
double total_cost;
char choice[10];
printf("请输入加油的数量(升): ");
scanf("%lf", &fuel_amount);
printf("请选择折扣方式:\n1. 固定折扣(例如5%)\n2. 自定义折扣百分比\n");
printf("请输入您的选择(1或2): ");
fgets(choice, sizeof(choice), stdin); // 防止换行符
choice[strlen(choice) - 1] = '\0'; // 去除结尾的换行符
if (strcmp(choice, "1") == 0) { // 固定折扣
discount_rate = 0.05; // 或者从配置文件读取
} else if (strcmp(choice, "2") == 0) { // 自定义折扣
printf("请输入折扣百分比(如0.1表示10%): ");
scanf("%lf", &discount_rate);
} else {
printf("无效的选择,请重新输入。\n");
return 1;
}
total_cost = fuel_amount * oil_price_per_liter * (1 - discount_rate);
printf("加油 %.2lf 升,享受%.2f%%折扣后的总价为 %.2lf 元。\n", fuel_amount, discount_rate * 100, total_cost);
return 0;
}
```
在这个版本中,用户可以选择是否输入折扣比例,如果有折扣,则在计算总价时应用折扣。