如何用C++找出数组中前3个最小的值
```cpp #include <iostream> using namespace std; int a[100], n; int main() { // 读取数组长度 cin >> n; // 读取数组元素 for (int i = 0; i < n; i++) { cin >> a[i]; } // 进行选择排序,只需要找出前3小的数 for (int i = 0; i < 3; i++) { int minIndex = i; for (int j = i + 1; j < n; j++) { if (a[j] < a[minIndex]) { minIndex = j; } } // 交换当前位置和最小值的位置 int temp = a[i]; a[i] = a[minIndex]; a[minIndex] = temp; } // 输出前3个最小的值 for (int i = 0; i < 3; i++) { cout << a[i]; if (i < 2) { cout << " "; } } return 0; } ``` ### 代码解释 1. **输入处理**:先读取数组的长度 `n`,再读取 `n` 个整数存储到数组 `a` 中。 2. **选择排序**:使用选择排序算法,只需要找出前3小的数。外层循环控制排序的轮数,只进行3轮,每一轮找出当前未排序部分的最小值,并将其交换到当前未排序部分的最前面。 3. **输出结果**:输出数组的前3个元素,即为前3个最小的值。 ######[AI问答 | 410点数解答 | 2026-03-28 19:56:54]
- C++ 破解数字游戏:找出数组添加全排列后相同数字最大数量(字节豆包 | 456点数解答 | 2025-02-27 18:56:24)273
- C++助力小小李老师:求解数组添加排列后最多相同数字数量(字节豆包 | 424点数解答 | 2025-03-01 14:46:52)224
- C++助力小小李老师:破解数组数字游戏最高得分之谜(字节豆包 | 434点数解答 | 2025-03-05 07:50:34)239
- C++ 助力小小李老师玩转数字游戏,找出数组最大相同元素次数!(DeepSeek | 1118点数解答 | 2025-03-25 21:11:51)193
- C++ 助力小小李老师:解决数组添加排列找最大重复元素难题(DeepSeek | 833点数解答 | 2025-03-26 17:06:19)179
- C++助力小小李老师:破解数组排列数字游戏最高得分之谜(DeepSeek | 901点数解答 | 2025-03-26 17:08:11)179
- C++ 破解数字游戏:为数组添加排列找出最大相同元素数量(DeepSeek | 1815点数解答 | 2025-03-27 17:50:16)183
- C++ 助力小小李老师:找出数组添加排列后相同数字的最大数量 (DeepSeek | 762点数解答 | 2025-03-27 17:53:47)181
- 动态规划求解数组下标元素和最大值代码分析与优化(字节豆包 | 346点数解答 | 2026-03-16 17:56:30)21
- C++实现计算最少添加数字次数以匹配两个数组元素(字节豆包 | 714点数解答 | 2026-03-08 19:44:54)16
- 旅行售货员问题:详细步骤剖析与贪心算法Python代码实现(字节豆包 | 444点数解答 | 2024-12-17 03:32:59)278
- Dev C++ 实现旅行售货员问题:最小路程路线代码与详细解析 (字节豆包 | 448点数解答 | 2024-12-17 03:33:42)180