某停车场对日间和夜间收费方式不同,具体规则如下: 1、半小时5元,不足半小时按半小时计费; 2、超过4小时,每小时收取5元,不足1小时按1小时计费 3、停车15分钟内(含)免费; 5、每天的停车费80元封顶。 请用c语言编写一个程序,根据停车时间计算停车费。
时间: 2024-04-30 20:24:28 浏览: 173
以下是一个简单的停车费计算程序,根据输入的停车时间计算停车费用,其中时间单位为分钟:
```c
#include <stdio.h>
int main() {
int minutes;
float fee = 0;
printf("请输入停车时间(单位:分钟):");
scanf("%d", &minutes);
if (minutes <= 15) {
fee = 0;
} else if (minutes <= 30) {
fee = 5;
} else if (minutes <= 240) {
int hours = (minutes + 29) / 60; // 四舍五入到小时
if (hours == 4) {
fee = 20;
} else {
fee = 5 + (hours - 1) * 5;
}
} else {
fee = 80;
}
printf("停车费用为:%.2f元\n", fee);
return 0;
}
```
程序中使用了 if-else 分支语句对停车时间进行分类计算,并使用了四舍五入的方法将停车时间转换为小时数。最终输出计算得到的停车费用。
相关问题
某停车场对日间和夜间收费方式不同,具体规则如下: 1、半小时5元,不足半小时按半小时计费; 2、超过4小时,每小时收取5元,不足1小时按1小时计费 3、停车15分钟内(含)免费; 5、每天的停车费80元封顶。 请编写一个程序,根据停车时间计算停车费。
好的,我可以给你提供一个 Python 程序来计算停车费。代码如下:
```python
def calculate_parking_fee(park_time):
"""
根据停车时间计算停车费用
:param park_time: 停车时长,单位为分钟
:return: 停车费用,单位为元
"""
free_time = 15 # 免费停车时间,单位为分钟
day_max_fee = 80 # 每天停车费封顶,单位为元
half_hour_fee = 5 # 不足半小时按半小时计费,每半小时费用为5元
hour_fee = 5 # 超过4小时每小时收费5元
half_hour = 30 # 半小时的分钟数
hour = 60 # 1小时的分钟数
day = 1440 # 1天的分钟数
# 如果停车时间不足免费时间,则停车费用为0元
if park_time <= free_time:
return 0
# 如果停车时间超过一天,则停车费用为当天停车费封顶
if park_time >= day:
return day_max_fee
# 计算停车费用
park_time -= free_time # 减去免费停车时间
total_fee = 0
if park_time <= half_hour:
total_fee = half_hour_fee
elif half_hour < park_time <= hour:
total_fee = half_hour_fee * 2
elif hour < park_time <= half_hour * 3:
total_fee = half_hour_fee * 3
elif half_hour * 3 < park_time <= hour * 2:
total_fee = half_hour_fee * 4
elif hour * 2 < park_time <= half_hour * 5:
total_fee = half_hour_fee * 5
else:
# 计算超过4小时的停车费用
total_fee = 20 # 前4小时的停车费用为20元
park_time -= hour * 4
if park_time % hour == 0:
total_fee += park_time // hour * hour_fee
else:
total_fee += (park_time // hour + 1) * hour_fee
# 如果停车费用超过每天停车费封顶,则停车费用为每天停车费封顶
if total_fee > day_max_fee:
total_fee = day_max_fee
return total_fee
```
这个函数接受一个停车时间(单位为分钟),并返回停车费用(单位为元)。你可以在程序中调用这个函数来计算停车费用。
用c语言写一个程序某停车场对日间和夜间收费方式不同,具体规则如下: 1、半小时5元,不足半小时按半小时计费; 2、超过4小时,每小时收取5元,不足1小时按1小时计费 3、停车15分钟内(含)免费; 5、每天的停车费80元封顶。 请编写一个程序,根据停车时间计算停车费。
以下是用C语言编写的停车收费程序:
```c
#include <stdio.h>
#define PRICE_PER_HALF_HOUR 5.0
#define MAX_DAILY_PRICE 80.0
#define FREE_PARKING_TIME 15.0
#define MIN_PARKING_TIME 0.5
#define MAX_PARKING_TIME 24.0
int main() {
float parking_time;
float price = 0.0;
printf("请输入停车时间(单位:小时):");
scanf("%f", &parking_time);
if (parking_time <= FREE_PARKING_TIME / 60.0) {
printf("您停车时间不足15分钟,停车费用为0元。\n");
return 0;
}
parking_time = (parking_time > MIN_PARKING_TIME) ? parking_time : MIN_PARKING_TIME;
if (parking_time <= 2.0) {
price = PRICE_PER_HALF_HOUR;
} else if (parking_time <= 4.0) {
price = PRICE_PER_HALF_HOUR * (int)(parking_time / 0.5);
} else if (parking_time <= MAX_PARKING_TIME) {
price = 2 * PRICE_PER_HALF_HOUR + 5.0 * (int)((parking_time - 2.0) / 1.0);
} else {
price = MAX_DAILY_PRICE;
}
printf("您的停车费用为%.1f元。\n", price);
return 0;
}
```
程序中使用了一些常量和变量来表示停车收费相关的信息:
- `PRICE_PER_HALF_HOUR`:每半小时停车费用,为5元。
- `MAX_DAILY_PRICE`:每天停车费用上限,为80元。
- `FREE_PARKING_TIME`:停车免费时间,为15分钟。
- `MIN_PARKING_TIME`:最短停车时间,为0.5小时。
- `MAX_PARKING_TIME`:最长停车时间,为24小时。
- `parking_time`:用户输入的停车时间。
- `price`:计算出的停车费用。
程序首先提示用户输入停车时间,并通过 `scanf` 函数读取用户输入的值。
然后程序判断停车时间是否小于等于停车免费时间,如果是则停车费用为0元。如果停车时间小于最短停车时间,则将停车时间设置为最短停车时间。
接下来,程序根据停车时间的不同,使用不同的计费规则计算停车费用。计费规则如下:
- 如果停车时间不超过2小时,则每半小时收费5元。
- 如果停车时间超过2小时但不超过4小时,则每半小时收费5元,不足半小时按半小时计费。
- 如果停车时间超过4小时,则前2小时每半小时收费5元,超过2小时的部分每小时收费5元,不足1小时按1小时计费。
- 如果停车时间超过24小时,则停车费用为每天停车费用上限。
最后,程序输出计算出的停车费用。
需要注意的是,在使用 `printf` 输出浮点数时,为了保留一位小数,使用了格式化字符串 `"%.1f"`。
阅读全文