酷代码 AI
菜单
服务商

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

以下是使用 C++ 语言解决此问题的代码: ```cpp #include <iostream> int main() { int n; // 读取数组长度 std::cin >> n; int min1 = 1000000; // 初始化最小值为一个较大的数 int min2 = 1000000; // 初始化次小值为一个较大的数 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. **初始化变量**: - `n` 用于存储数组的长度。 - `min1` 和 `min2` 分别用于存储最小值和次小值,初始化为一个较大的数(这里是 1000000)。 2. **读取输入**: - 首先读取数组的长度 `n`。 - 然后使用 `for` 循环读取 `n` 个整数。 3. **比较和更新**: - 如果当前读取的数字小于 `min1`,则更新 `min2` 为原来的 `min1`,并将 `min1` 更新为当前数字。 - 如果当前读取的数字大于 `min1` 且小于 `min2`,则更新 `min2` 为当前数字。 4. **输出结果**: - 最后输出最小值和次小值,中间用空格隔开。 ######[AI问答 | 508点数解答 | 2026-05-23 20:54:54]

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