C++ 实现找出 n 个整数中的最小值及其位置
### 🔍 思路分析 本题要求从输入的 `n` 个整数中找出最小值以及它在序列中的位置。我们可以通过遍历这 `n` 个整数,使用变量记录当前最小值和其位置,在遍历过程中更新这些变量。 ### 💻 代码实现 ```cpp #include <iostream> using namespace std; int main() { int n; // 读取整数个数 cin >> n; int min_val, min_pos; // 读取第一个数作为初始最小值和位置 cin >> min_val; min_pos = 1; for (int i = 2; i <= n; i++) { int num; // 读取后续的数 cin >> num; // 如果当前数小于最小值,更新最小值和位置 if (num < min_val) { min_val = num; min_pos = i; } } // 输出最小值和其位置 cout << min_val << " " << min_pos << endl; return 0; } ``` ### 📋 代码解释 1. **输入整数个数**:首先读取一个整数 `n`,表示接下来要输入的整数的个数。 2. **初始化最小值和位置**:读取第一个整数作为初始的最小值 `min_val`,并将其位置 `min_pos` 初始化为 1。 3. **遍历后续整数**:使用 `for` 循环从第 2 个整数开始读取,每次读取一个整数 `num`,如果 `num` 小于当前的最小值 `min_val`,则更新 `min_val` 为 `num`,并更新 `min_pos` 为当前的位置 `i`。 4. **输出结果**:最后输出最小值和其位置,中间用空格分隔。 ### ⚙️ 复杂度分析 - **时间复杂度**:$O(n)$,其中 $n$ 是整数的个数。因为只需要遍历一次所有的整数。 - **空间复杂度**:$O(1)$,只使用了常数级的额外空间。 ### 🚀 开发建议 - **输入验证**:在实际应用中,可以添加对输入的验证,确保输入的 `n` 是一个正整数,并且后续输入的整数数量符合要求。 - **错误处理**:当输入不符合预期时,程序可能会出现错误。可以添加错误处理机制,例如当输入的整数个数与实际输入的整数数量不匹配时,给出相应的提示信息。 ######[AI写代码神器 | 589点数解答 | 2026-08-10 21:15:20]
- 判断超级幸运数:满足“纯4/7数位”或“4/7总个数为4或7”的整数计数(阿里通义 | 965点数解答 | 2026-03-13 12:15:06)150
- 数轴旅行:从原点出发,能否到达目标位置?(字节豆包 | 225点数解答 | 2026-01-23 19:51:03)136
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)558
- C 语言:按特定顺序读入并输出浮点数、整数和字符(字节豆包 | 106点数解答 | 2024-09-26 00:32:40)413
- C语言:按序读入浮点数、整数、字符并按新顺序输出,附代码实现 (字节豆包 | 108点数解答 | 2024-09-30 22:54:08)428
- C语言:按特定顺序读入并输出浮点数、整数和字符,精确控制小数位(字节豆包 | 155点数解答 | 2024-10-08 22:06:18)418
- C++与Python:按特定顺序输入输出数据并保留浮点数两位小数的实现(字节豆包 | 168点数解答 | 2024-10-08 22:07:03)418
- C语言:按特定顺序读入再输出,含浮点数精确格式处理(字节豆包 | 105点数解答 | 2024-10-08 22:07:29)433
- C++ 混合类型数据格式化输入输出:按指定顺序输出并保留两位小数(字节豆包 | 187点数解答 | 2024-10-16 14:31:08)469
- C语言:实现混合类型数据格式化输入输出,代码超简单!(字节豆包 | 159点数解答 | 2024-10-16 14:32:18)462
- C语言:按特定格式输入并格式化输出整数、实数和字符(字节豆包 | 103点数解答 | 2024-10-24 11:12:53)504
- Java 实现:从点类到圆类,计算圆心坐标(50,30)、半径 4 的圆周长与面积(字节豆包 | 246点数解答 | 2024-11-11 16:36:30)431