某停车场对日间和夜间收费方式不同,具体规则如下: 1、半小时5元,不足半小时按半小时计费; 2、超过4小时,每小时收取5元,不足1小时按1小时计费 3、停车15分钟内(含)免费; 5、每天的停车费80元封顶。 请编写一个程序,根据停车时间计算停车费。用C语言
时间: 2024-05-10 11:17:00 浏览: 11
以下是一个简单的C语言程序,可以根据输入的停车时间计算停车费:
```
#include <stdio.h>
int main() {
int startHour, startMinute, endHour, endMinute;
double fee = 0;
printf("请输入停车时间(开始时间小时 分钟 结束时间小时 分钟):");
scanf("%d %d %d %d", &startHour, &startMinute, &endHour, &endMinute);
int totalMinutes = (endHour - startHour) * 60 + (endMinute - startMinute);
if (totalMinutes <= 15) {
fee = 0;
} else if (totalMinutes <= 30) {
fee = 5;
} else if (totalMinutes <= 4 * 60) {
int hours = totalMinutes / 60;
int minutes = totalMinutes % 60;
if (minutes > 0) {
hours++;
}
if (hours <= 4) {
fee = hours * 5;
} else {
fee = 20 + (hours - 4) * 5;
}
} else {
fee = 80;
}
printf("停车费用为:%.2f元\n", fee);
return 0;
}
```
程序中使用了四个整数变量分别表示停车开始时间的小时和分钟,以及停车结束时间的小时和分钟。另外还有一个双精度浮点数变量表示停车费用。
程序中使用了if-else语句来判断停车费用的计算方式。根据题目的规则,停车15分钟内免费,所以如果停车时间不足15分钟,费用为0元。如果停车时间在15分钟至30分钟之间,费用为5元。如果停车时间超过30分钟但不足4小时,按照每半小时5元的标准计费,当然如果不足半小时也按照半小时计费。如果停车时间超过4小时,则每小时收取5元,不足1小时按1小时计费。最后,停车费用不超过80元。
注意,在程序中,我们使用了scanf函数来读入用户输入的停车时间。scanf函数的返回值是成功读入的参数个数,所以我们可以根据返回值来判断用户输入是否合法。如果scanf函数返回的值不是4,说明用户输入的参数个数不对,需要重新输入。