C语言实现无人机航点编号冒泡排序及编号重置
```c #include <stdio.h> // 定义航点结构体 typedef struct { int id; double longitude; double latitude; } Waypoint; // 交换两个航点的函数 void swap(Waypoint *a, Waypoint *b) { Waypoint temp = *a; *a = *b; *b = temp; } // 冒泡排序函数 int bubbleSort(Waypoint arr[], int n) { int i, j; int sorted = 0; int totalPasses = 0; for (i = 0; i < n - 1 && !sorted; i++) { sorted = 1; for (j = 0; j < n - i - 1; j++) { if (arr[j].id > arr[j + 1].id) { swap(&arr[j], &arr[j + 1]); sorted = 0; } } totalPasses++; } return totalPasses; } // 重新设置航点编号 void resetIds(Waypoint arr[], int n) { for (int i = 0; i < n; i++) { arr[i].id = i + 1; } } // 输出航点信息 void printWaypoints(Waypoint arr[], int n) { for (int i = 0; i < n; i++) { printf("%d %.6f %.6f\n", arr[i].id, arr[i].longitude, arr[i].latitude); } } int main() { int n; scanf("%d", &n); Waypoint waypoints[10]; for (int i = 0; i < n; i++) { scanf("%d %lf %lf", &waypoints[i].id, &waypoints[i].longitude, &waypoints[i].latitude); } int totalPasses = bubbleSort(waypoints, n); printf("Total sorting: %d\n", totalPasses); printf("Before:\n"); printWaypoints(waypoints, n); resetIds(waypoints, n); printf("After:\n"); printWaypoints(waypoints, n); return 0; } ``` ######[AI问答 | 541点数解答 | 2025-12-29 18:41:13]
- Python 实现赛车手积分排名:从数据到清晰榜单(字节豆包 | 182点数解答 | 2024-10-20 16:16:44)305
- 给定一个包含 个顶点和 条边的无向连通图。如果除了最多一个顶点外,其余所有顶点的度数均为 或 (即不超过一个顶点的度数大于 ),则称其为胡须图。顶点的度数表示和该顶点相连的边的数量。 每条边要么是黑色,要么是白色。所有边初始均为黑色。 现给定一张胡须图的描述,你需要处理下列类型的若干操作: 将编号为 的边涂成黑色。编号 的边指输入顺序的第 条边。保证进行该操作时第 条边是白色。 将编号为 的边涂成白色。保证进行该操作时第 条边是黑色。 查询只经过黑色边,顶点 和 间的最短路径长度,或判断是否不存在这样的路径(路径长度为经过的边数)。 顶点从 到 编号,边从 到 编号。 输入格式 输入的第一行包含一个整数 ( )——图的顶点数。接下来 行,每行两个整数 ( ),表示一条边。保证图连通、是胡须图、无自环、无重边。 之后一行为整数 ( )——操作数。接下来 行,每行为一次操作。每次操作格式如下: 若为操作类型 ,则该行为 1 i,表示将编号为 的边涂为黑色。 若为操作类型 ,则该行为 2 i,表(讯飞星火 | 0点数解答 | 2026-05-30 13:01:05)25
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)468
- 补全含错误代码:Vue结合Element UI组件实现查询、新增及表格展示功能 ( | 400点数解答 | 2023-12-19 15:20:50)467
- 优化表单代码:融入企业文化元素的 Vue 表单实现与注意要点(字节豆包 | 497点数解答 | 2025-03-07 08:48:04)334
- 用户登录系统代码解析及关键逻辑注意点(字节豆包 | 328点数解答 | 2025-03-11 10:09:35)267
- Python匈牙利算法:求解二分图最大匹配边数(含代码及详细解析)(字节豆包 | 715点数解答 | 2025-12-12 18:44:19)72
- 二分图最大匹配边数求解:从输入到代码实现全解析(字节豆包 | 275点数解答 | 2025-12-13 21:24:15)85
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)404
- C++程序:计算天上飞过10只不同编号冰鸟的数量(DeepSeek | 152点数解答 | 2026-01-18 12:16:24)38
- C++程序助力K博士:算出学生投票最高得票数!(字节豆包 | 190点数解答 | 2026-01-25 10:50:44)69
- C语言实现多班级学生信息管理系统:含增删改查与多样排序功能(GPT | 2547点数解答 | 2024-12-15 22:08:58)391