C语言城市居民电价计算
时间: 2024-08-12 10:10:26 浏览: 255
c语言电费管理系统
在C语言中,计算城市居民电价通常会涉及基本电价、阶梯电价(如果城市电力公司实行这种计费制度)以及可能的附加费用。以下是一个简单的示例,展示如何根据用电量和不同阶段的电价来计算总费用:
```c
#include <stdio.h>
// 定义电价结构体
typedef struct {
float base_rate; // 基本电价
float step1_rate; // 第一阶梯电价
float step1_limit; // 第一阶梯电量
float step2_rate; // 第二阶梯电价
float step2_limit; // 第二阶梯电量
float extra_fee; // 附加费用(如峰谷分时电价)
} Tariff;
// 定义居民用电量
float居民_usage;
// 根据用电量计算费用
float calculate_bill(Tariff tariff, float usage) {
if (usage <= tariff.step1_limit) {
return usage * tariff.base_rate;
} else if (usage > tariff.step1_limit && usage <= (tariff.step1_limit + tariff.step2_limit)) {
return tariff.step1_limit * tariff.base_rate + (usage - tariff.step1_limit) * tariff.step2_rate;
} else {
return calculate_bill(tariff, usage - (tariff.step1_limit + tariff.step2_limit))
+ (tariff.step1_limit + tariff.step2_limit) * tariff.base_rate
+ usage * tariff.step2_rate
+ tariff.extra_fee;
}
}
int main() {
// 示例电价数据
Tariff tariff = {
.base_rate = 0.6, // 基本电价(元/度)
.step1_rate = 0.8, // 第一阶梯电价(元/度)
.step1_limit = 200, // 第一阶梯电量(度)
.step2_rate = 1.0, // 第二阶梯电价(元/度)
.step2_limit = 400, // 第二阶梯电量(度)
.extra_fee = 0.2, // 附加费(元)
};
// 输入居民用电量
printf("请输入居民用电量(度): ");
scanf("%f", &resident_usage);
// 计算并输出电费
float bill = calculate_bill(tariff, resident_usage);
printf("居民的电费为: %.2f 元\n", bill);
return 0;
}
```
阅读全文