茂名市车位分三个路段类别(如上图,要考虑时间因素),输入为时间a(单位小时)和路段类别b,用多分支语句实现根据输入时间和类别输出应收费金额。
时间: 2024-10-23 11:07:40 浏览: 9
路侧停车位数据集,包含四个不同路段
在C语言中,为了根据输入的时间和路段类别计算停车费,你可以使用多分支(switch-case)语句结合if-else条件语句。这里假设我们有三个不同的收费标准,分别是市区、郊区和高速路,并且考虑到早晚高峰期的不同价格。以下是基本的代码实现:
```c
#include <stdio.h>
double calculateParkingFee(int a, int b) {
double fee;
switch (b) { // 路段分类
case 1: // 市区
if (a >= 7 && a <= 21) { // 早高峰
fee = 5.00; // 示例:白天城区收费标准
} else if (a >= 22 || a <= 6) { // 晚高峰
fee = 6.00; // 示例:夜晚城区收费标准
} else { // 非高峰期
fee = 4.00; // 示例:其余时段城区
}
break;
case 2: // 郊区
// 类似于市区,但可能有不同的价格
if (a >= 7 && a <= 21) {
fee = 3.00;
} else if (a >= 22 || a <= 6) {
fee = 4.00;
} else {
fee = 2.00;
}
break;
case 3: // 高速路
// 高速路可能按小时收费或有其他规则
if (a >= 0 && a <= 24) {
fee = 1.50; // 示例:全天统一费率
}
break;
default:
printf("Invalid location.");
return -1; // 错误路段代码
}
return fee;
}
int main() {
int time_a, location_b;
printf("请输入时间(小时)和路段类别(1-市区,2-郊区,3-高速路): ");
scanf("%d %d", &time_a, &location_b);
double result = calculateParkingFee(time_a, location_b);
if (result != -1) {
printf("根据您的输入,停车费为%.2f元。\n", result);
}
return 0;
}
阅读全文