代码打卡1 |
您所在的位置:网站首页 › 出租车计费问题公式 › 代码打卡1 |
出租车计价 入门 作者 沈睿 单位 浙江大学 本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下: 起步里程为3公里,起步费10元;超起步里程后10公里内,每公里2元;超过10公里以上的部分加收50%的回空补贴费,即每公里3元;营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。 输入格式:输入在一行中给出输入行驶里程(单位为公里,精确到小数点后1位)与等待时间(整数,单位为分钟),其间以空格分隔。 输出格式:在一行中输出乘客应支付的车费(单位为元),结果四舍五入,保留到元。 输入样例1: 2.6 2 输出样例1: 10 输入样例2: 5.1 4 输出样例2: 14 输入样例3: 12.5 9 输出样例3: 34java: import java.util.Scanner; public class TaxiFare { public static void main(String[] args) { double baseFare = 10.0; double totalFare; Scanner scanner = new Scanner(System.in); double distance = scanner.nextDouble(); int waitingTime = scanner.nextInt(); if (distance > 3.0 && distance 10.0) { totalFare = baseFare + 14.0 + (distance - 10.0) * 3.0; } else { totalFare = baseFare; } totalFare += (waitingTime / 5) * 2.0; // 四舍五入并输出结果 long roundedFare = Math.round(totalFare); System.out.println(roundedFare); scanner.close(); } } c: #include #include int main() { float baseFare = 10.0; float totalFare; float distance; int waitingTime; scanf("%f %d", &distance, &waitingTime); if (distance > 3.0 && distance 10.0) { totalFare = baseFare + 14.0 + (distance - 10.0) * 3.0; } else { totalFare = baseFare; } totalFare += (waitingTime / 5) * 2.0; int roundedFare = round(totalFare); printf("%d\n", roundedFare); return 0; } 测试数据:5.1 4 测试数据:2.6 2 输入处理:你使用了Scanner来处理输入,这是很方便的方法。它可以从标准输入中读取行驶里程和等待时间。 计费逻辑:你正确地根据行驶里程的不同范围来计算费用,包括起步费、超出3公里的费用和超出10公里的费用。你还考虑了等待时间的计费,每5分钟2元的计费标准也正确。 结果四舍五入:你使用Math.round方法来对计算出的总费用进行四舍五入,确保结果保留到元。 变量命名:你的变量命名清晰,易于理解,使代码更具可读性。 程序整体结构:程序整体结构清晰,易于理解。逻辑分支的使用使得费用计算部分易于理解。 总的来说,程序在实现要求的功能方面表现出色。不过,一些注释或文档可以帮助其他人更容易理解你的代码,特别是如果代码用于团队项目或需要维护的情况下。除此之外,你已经完成了一个很好的出租车计价程序。继续保持编程和学习的进步! |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |