题目描述 高速公路客车收费,输入客车规格(即,客车座位数)seats以及行驶公里数mileage,根据不同客车每公里收费标准rate,计算收费金额payment,结果保留1位小数。计算公式为:payment=mileage*rate 当seats≤9时,rate=1.6 当10≤seats≤19,rate=2.4 当20≤seats≤39,rate=3.3 当seats≥40,rate=4.9 输入 在一行中给出客车座位数和行驶公里数(座位数和公里数大于0) 输出 在一行中输出收费金额。格式如:payment=1600.0。 样例输入 复制 8 1000 样例输出 复制 payment=1600.0
时间: 2024-03-17 19:46:07 浏览: 15
好的,以下是Python实现的代码:
```python
seats, mileage = map(int, input().split())
if seats <= 9:
rate = 1.6
elif seats <= 19:
rate = 2.4
elif seats <= 39:
rate = 3.3
else:
rate = 4.9
payment = round(mileage * rate, 1)
print("payment={:.1f}".format(payment))
```
这个程序会先读取输入的客车座位数和行驶公里数,然后根据座位数计算每公里的收费标准rate,并计算收费金额payment。最后输出结果,保留一位小数。注意,我们用了Python中的`round()`函数来保留一位小数,而不是简单的使用`print()`函数的格式化输出功能。
相关问题
模拟客车售票伪代码实现java内容总结
模拟客车售票是一个比较典型的问题,我们可以通过 Java 语言实现。下面是一个简单的伪代码实现:
```java
// 定义一个数组,存储每个座位的状态(0表示空座位,1表示已售出的座位)
int[] seats = new int[50];
// 定义一个变量,表示已售出的座位数
int sold = 0;
// 循环处理售票请求
while (true) {
// 显示座位状态
display(seats);
// 输入座位号
int seatNo = input.nextInt();
// 判断座位号是否合法(1~50之间的整数)
if (seatNo < 1 || seatNo > 50) {
System.out.println("输入的座位号不合法,请重新输入!");
continue;
}
// 判断座位是否已售出
if (seats[seatNo-1] == 1) {
System.out.println("该座位已售出,请重新选择!");
continue;
}
// 售票
seats[seatNo-1] = 1;
sold++;
// 判断是否售完
if (sold == 50) {
System.out.println("所有座位已售出,本次售票结束。");
break;
}
}
// 显示座位状态
display(seats);
// 定义一个方法,用于显示座位状态
public static void display(int[] seats) {
System.out.println("座位状态如下:");
for (int i = 0; i < seats.length; i++) {
System.out.print((i+1) + ": ");
if (seats[i] == 0) {
System.out.println("空座位");
} else {
System.out.println("已售出");
}
}
}
```
以上伪代码实现了一个简单的客车售票系统,通过循环处理售票请求,判断座位是否合法、是否已售出,以及是否售完,最后显示座位状态。
一个简单的客车售票系统Java
下面是一个简单的客车售票系统的 Java 实现,其中包括了车辆信息、座位信息、购票、退票等功能。
```java
import java.util.Scanner;
public class BusTicketSystem {
static String[] buses = {"K123", "K456", "K789"}; // 车辆信息
static int[][] seats = {{1,2,3,4,5,6,7,8,9,10}, // 座位信息
{1,2,3,4,5,6,7,8,9,10},
{1,2,3,4,5,6,7,8,9,10}};
static int[][] tickets = new int[buses.length][seats[0].length]; // 票务信息
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("请选择操作:1.购票 2.退票 3.退出系统");
int option = sc.nextInt();
if (option == 1) {
System.out.println("请输入车次(K123, K456, K789):");
String bus = sc.next();
int busIndex = -1;
for (int i = 0; i < buses.length; i++) {
if (buses[i].equals(bus)) {
busIndex = i;
break;
}
}
if (busIndex == -1) {
System.out.println("车次输入错误!");
continue;
}
System.out.println("请输入座位号(1-10):");
int seat = sc.nextInt();
if (seat < 1 || seat > seats[0].length) {
System.out.println("座位号输入错误!");
continue;
}
if (tickets[busIndex][seat-1] == 1) {
System.out.println("该座位已被购买!");
continue;
}
tickets[busIndex][seat-1] = 1;
System.out.println("购票成功!");
} else if (option == 2) {
System.out.println("请输入车次(K123, K456, K789):");
String bus = sc.next();
int busIndex = -1;
for (int i = 0; i < buses.length; i++) {
if (buses[i].equals(bus)) {
busIndex = i;
break;
}
}
if (busIndex == -1) {
System.out.println("车次输入错误!");
continue;
}
System.out.println("请输入座位号(1-10):");
int seat = sc.nextInt();
if (seat < 1 || seat > seats[0].length) {
System.out.println("座位号输入错误!");
continue;
}
if (tickets[busIndex][seat-1] == 0) {
System.out.println("该座位未被购买!");
continue;
}
tickets[busIndex][seat-1] = 0;
System.out.println("退票成功!");
} else if (option == 3) {
System.out.println("谢谢使用!");
break;
} else {
System.out.println("输入错误,请重新输入!");
}
}
sc.close();
}
}
```
上面的代码中,我们使用了一个二维数组 `seats` 来存储每个车辆的座位信息,使用一个二维数组 `tickets` 来存储每个座位的票务信息。在购票和退票时,我们需要先输入车次和座位号,然后判断该座位是否已被购买或未被购买,最后更新票务信息。