用c+ +写一个火车车厢重组问题
时间: 2023-06-10 14:08:58 浏览: 133
火车车厢重组问题是一个经典的排序问题,可以用C语言来实现。以下是一个简单的示例代码:
```
#include <stdio.h>
#include <stdlib.h>
#define MAX_LENGTH 1000 // 最大车厢数量
int main()
{
int n, i, j, temp;
int train[MAX_LENGTH];
printf("请输入火车车厢数量:\n");
scanf("%d", &n);
printf("请输入每个车厢的编号:\n");
for (i = 0; i < n; i++) {
scanf("%d", &train[i]);
}
// 对车厢编号进行冒泡排序
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (train[j] > train[j + 1]) {
temp = train[j];
train[j] = train[j + 1];
train[j + 1] = temp;
}
}
}
printf("重组后的车厢编号为:\n");
for (i = 0; i < n; i++) {
printf("%d ", train[i]);
}
return 0;
}
```
代码中首先读入车厢数量和每个车厢的编号,然后使用冒泡排序对车厢编号进行排序,最后输出重新排列后的车厢编号。可以通过输入以下示例数据进行测试:
```
请输入火车车厢数量:
8
请输入每个车厢的编号:
3 1 4 1 5 9 2 6
重组后的车厢编号为:
1 1 2 3 4 5 6 9
```
阅读全文