酷代码 AI
菜单
服务商

使用 C++ 找出 n 个整数中的最小值和次小值

以下是实现该功能的 C++ 代码: ```cpp #include <iostream> #include <climits> int main() { int n; // 读取数组长度 std::cin >> n; // 初始化最小值和次小值为最大整数 int min1 = INT_MAX; int min2 = INT_MAX; for (int i = 0; i < n; i++) { int num; // 读取数组元素 std::cin >> num; if (num < min1) { // 如果当前元素小于最小值,更新次小值和最小值 min2 = min1; min1 = num; } else if (num < min2 && num != min1) { // 如果当前元素小于次小值且不等于最小值,更新次小值 min2 = num; } } // 输出最小值和次小值 std::cout << min1 << " " << min2 << std::endl; return 0; } ``` ### 代码解释: 1. **初始化**:将最小值 `min1` 和次小值 `min2` 初始化为 `INT_MAX`,这是 `climits` 库中定义的最大整数值。 2. **读取输入**:首先读取数组的长度 `n`,然后使用 `for` 循环读取 `n` 个整数。 3. **比较更新**:在循环中,对于每个读取的整数 `num`,如果 `num` 小于 `min1`,则更新 `min2` 为原来的 `min1`,并更新 `min1` 为 `num`;如果 `num` 小于 `min2` 且不等于 `min1`,则更新 `min2` 为 `num`。 4. **输出结果**:最后输出 `min1` 和 `min2`。 ######[AI问答 | 458点数解答 | 2026-04-06 21:03:36]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]