酷代码 AI
菜单
服务商

C++ 实现找出 n 个整数中第二小的值

以下是使用 C++ 语言解决该问题的代码: ```cpp #include <iostream> using namespace std; // 函数用于交换两个整数的值 void swap(int &a, int &b) { int temp = a; a = b; b = temp; } int main() { int n; // 读取数组长度 cin >> n; int a[100]; // 读取数组元素 for (int i = 0; i < n; i++) { cin >> a[i]; } // 从 a[0] 到 a[n-1] 找最小值,与 a[0] 交换 int minIndex = 0; for (int i = 1; i < n; i++) { if (a[i] < a[minIndex]) { minIndex = i; } } swap(a[0], a[minIndex]); // 从 a[1] 到 a[n-1] 找最小值,与 a[1] 交换 minIndex = 1; for (int i = 2; i < n; i++) { if (a[i] < a[minIndex]) { minIndex = i; } } swap(a[1], a[minIndex]); // 输出次小值 cout << a[1] << endl; return 0; } ``` ### 代码解释: 1. **`swap` 函数**:用于交换两个整数的值,方便后续交换数组元素。 2. **主函数 `main`**: - 首先读取数组的长度 `n`。 - 接着读取 `n` 个整数存储到数组 `a` 中。 - 第一次遍历数组,找出最小值的索引 `minIndex`,并将其与 `a[0]` 交换。 - 第二次遍历数组(从 `a[1]` 开始),找出剩余元素中的最小值的索引 `minIndex`,并将其与 `a[1]` 交换。 - 最后输出 `a[1]`,即为数组中的次小值。 ######[AI问答 | 533点数解答 | 2026-05-23 20:50:33]

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