酷代码 AI
菜单
服务商
DeepSeek字节豆包
更多选项

C++ 数组最小值计算代码修正:初始值陷阱与解法

## 🔍 代码错误分析 初始值 `minn = 0` 导致所有正数都无法更新最小值。当输入全为正数时,输出错误为 0。正确做法是将 `minn` 初始化为数组第一个元素或一个较大值。 ## ✅ 修正后的代码 ```cpp #include <iostream> using namespace std; int main() { int n, a[100]; cin >> n; // 输入 n 个数字 for (int i = 0; i < n; i++) { cin >> a[i]; } // 将最小值初始化为第一个元素 int minn = a[0]; // 从第二个元素开始比较 for (int i = 1; i < n; i++) { if (a[i] < minn) { minn = a[i]; } } cout << minn; return 0; } ``` ## 📝 修改要点说明 - 第 4 行:将 `minn` 初始化为 `a[0]`,避免盲目使用 0。 - 第 5-8 行:输入循环从 `i = 0` 开始,符合 C++ 数组下标习惯。 - 第 10-15 行:比较循环从 `i = 1` 开始,跳过已初始化的第一个元素。 - 也可将 `minn` 初始化为一个极大的数(如 `INT_MAX`),但使用首元素更高效且直观。 输入样例 `5` 和 `3 4 5 2 3` 时,输出正确为 `2`。 ######[AI问答 | 380点数解答 | 2026-08-16 10:20:32]

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