泊车收费问题(联考题目)

老师根据自己的情况做了如下记录:

  1. 如果停在1级区域,停车时间在30分钟以内的免费;从30分钟后开始计算收费计时N,120分钟以内的部分按每15分钟1元的标准计费,超过120分钟的部分按每15分钟1.5元的标准计费,不足15分钟的部分按比例收费,保留小数点后1位;每次收费上限是50元。

  2. 如果停在2级区域,停车时间在30分钟以内的免费;从30分钟后开始计算收费计时N,120分钟以内的部分按每15分钟0.5元的标准计费,超过120分钟的部分按每15分钟1元的标准计费,不足15分钟的部分按比例收费,保留小数点后1位;每次收费上限是30元。

  3. 采用Java以及C语言来编写程序。、

  4. C语言:
  5. #include <stdio.h>
    
    int main() {
        int area, time;
        float fee = 0.0;
        
        scanf("%d %d", &area, &time);
    
        if (area == 1) {
            if (time <= 30) {
                fee = 0.0;
            } else if (time <= 120) {
                fee = (time - 30) / 15 * 1.0;
                fee += (time - 30) % 15 / 15.0 * 1.0;
                fee = fee > 50.0 ? 50.0 : fee;
            } else {
                fee = 6.0;  // 30 minutes free + 8 intervals of 15 minutes each
                fee += (time - 120) / 15 * 1.5;
                fee += (time - 120) % 15 / 15.0 * 1.5;
                fee = fee > 50.0 ? 50.0 : fee;
            }
        } else if (area == 2) {
            if (time <= 30) {
                fee = 0.0;
            } else if (time <= 120) {
                fee = (time - 30) / 15 * 0.5;
                fee += (time - 30) % 15 / 15.0 * 0.5;
                fee = fee > 30.0 ? 30.0 : fee;
            } else {
                fee = 3.0;  // 30 minutes free + 8 intervals of 15 minutes each
                fee += (time - 120) / 15 * 1.0;
                fee += (time - 120) % 15 / 15.0 * 1.0;
                fee = fee > 30.0 ? 30.0 : fee;
            }
        }
    
        printf("%.1f\\n", fee);
        
        return 0;
    }
    


    Java:

  6. import java.util.Scanner;
    
    public class ParkingFeeCalculator {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
           
            int area = scanner.nextInt();
            int time = scanner.nextInt();
            float fee = 0.0f;
            
            if (area == 1) {
                if (total_time <= 30) {
                    fee = 0.0f;
                } else if (time <= 120) {
                    fee = (time - 30) / 15 * 1.0f;
                    fee += (time - 30) % 15 / 15.0f * 1.0f;
                    fee = fee > 50.0f ? 50.0f : fee;
                } else {
                    fee = 6.0f;  
                    fee += (time - 120) / 15 * 1.5f;
                    fee += (time - 120) % 15 / 15.0f * 1.5f;
                    fee = fee > 50.0f ? 50.0f : fee;
                }
            } else if (area == 2) {
                if (time <= 30) {
                    fee = 0.0f;
                } else if (time <= 120) {
                    fee = (time - 30) / 15 * 0.5f;
                    fee += (time - 30) % 15 / 15.0f * 0.5f;
                    fee = fee > 30.0f ? 30.0f : fee;
                } else {
                    fee = 3.0f;  // 30 minutes free + 8 intervals of 15 minutes each
                    fee += (time - 120) / 15 * 1.0f;
                    fee += (time - 120) % 15 / 15.0f * 1.0f;
                    fee = fee > 30.0f ? 30.0f : fee;
                }
            }
            
            System.out.printf("%.1f\\n", fee);
        }
    }
    

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值