C++ 统计超重石块数量:从输入到输出的完整指南
好的,我们先来分析一下这个问题。 **问题理解:** - 输入一个整数 `n`,代表石块数量。 - 然后输入 `n` 个整数,代表每个石块的重量。 - 需要统计重量 **超过 100** 的石块数量。 - 输出这个数量。 **思路:** 1. 读入 `n`。 2. 循环 `n` 次,每次读入一个重量。 3. 如果重量 `> 100`,计数器加 1。 4. 输出计数器的值。 --- ## 🛡️ 准备工作 确保你有一个 C++ 编译器,比如 `g++` 或 `clang++`。 **安装示例(Linux/macOS):** ```bash # 检查是否安装 g++ g++ --version # 如果没有,安装(Ubuntu/Debian) sudo apt install g++ ``` **Windows 用户** 可以安装 MinGW 或使用 Visual Studio。 --- ## 📝 代码实现 ```cpp #include <iostream> using namespace std; int main() { int n; cin >> n; // 读取石块数量 int count = 0; // 计数器,记录需要躲避的石块数量 for (int i = 0; i < n; i++) { int weight; cin >> weight; // 读取每个石块的重量 if (weight > 100) { count++; // 如果重量超过100,计数器加1 } } cout << count << endl; // 输出结果 return 0; } ``` --- ## 🔍 代码解释 1. **`int n; cin >> n;`** 读取石块总数。 2. **`int count = 0;`** 初始化计数器为 0。 3. **`for (int i = 0; i < n; i++)`** 循环 `n` 次,每次读取一个重量。 4. **`if (weight > 100)`** 判断条件:重量 **严格大于** 100(根据题意“超过100”)。 5. **`cout << count << endl;`** 输出最终统计的数量。 --- ## ⚠️ 常见陷阱与注意事项 1. **条件判断**:题目要求“超过100”,即 `weight > 100`,不是 `weight >= 100`。 2. **输入格式**:第二行是 `n` 个整数,用空格隔开,C++ 的 `cin` 会自动按空格分割读取。 3. **数据范围**:题目没有给出重量范围,但一般用 `int` 足够。 4. **效率**:时间复杂度 O(n),空间复杂度 O(1),已经最优。 --- ## 🚀 进阶与扩展 - **如果 n 很大(例如上百万)**:代码仍然高效,因为只做一次线性扫描。 - **如果需要同时记录哪些石块要躲避**:可以用一个数组存储重量超过 100 的石块下标或重量。 - **如果输入可能包含非整数**:需要增加输入验证,但本题明确是整数。 - **安全建议**:对于竞赛或在线判题,不需要检查输入错误;但在生产代码中,应检查 `cin` 是否成功读取。 --- ## 📚 相关学习资源 - [C++ 输入输出(cin/cout)教程](https://www.learncpp.com/cpp-tutorial/basic-input-and-output-cin-and-cout/) - [C++ 条件语句 if](https://en.cppreference.com/w/cpp/language/if) - [在线 C++ 编译器(可测试代码)](https://www.onlinegdb.com/online_c++_compiler) --- ## 💡 开发建议 1. 变量名尽量有意义,比如 `count` 比 `c` 更好理解。 2. 即使题目简单,也要考虑边界情况,比如 `n = 0` 时程序是否正确(这里会输出 0)。 3. 写完代码后,用题目给的样例测试一下。 4. 可以尝试自己增加测试用例,比如所有石块重量都小于等于 100,或者都大于 100。 --- ######[AI写代码神器 | 922点数解答 | 2026-03-27 19:18:00]
- 易语言读取文本文件并显示到超级列表框:代码示例与注意要点(DeepSeek | 571点数解答 | 2025-08-23 20:54:40)228
- 易语言:读取并显示特定文本到超级列表框,还能增加新数据的方法与要点(DeepSeek | 1317点数解答 | 2025-08-23 20:58:40)231
- mallshop商城网站:数据库设计与强大业务功能全揭秘(GPT | 257点数解答 | 2024-12-09 14:08:15)275
- C++ 实现我的世界基岩版:从简单框架到开发要点揭秘(字节豆包 | 182点数解答 | 2025-02-22 15:53:11)200
- C++ 实现完整斗地主:含洗牌、发牌与手牌展示,可按需扩展!(字节豆包 | 1028点数解答 | 2026-01-10 08:02:37)38
- 星际编码大赛终极对决:机械星AI与异星人激战“逆序对”统计难题(字节豆包 | 509点数解答 | 2025-04-19 17:33:00)279
- 用 Pandas 深度剖析数据:从读取到统计分析全流程实战(GPT | 642点数解答 | 2024-06-30 15:39:49)358
- 用 Pandas 深入分析招聘数据:从数据读取到可视化全流程解析(GPT | 1539点数解答 | 2024-06-30 15:56:50)373
- Python 实现:精确统计两数范围内素数个数,附完整代码与优化思路(阿里通义 | 292点数解答 | 2024-11-28 21:36:29)251
- Python 文件数量统计:检测当前及指定路径文件数并处理错误 (字节豆包 | 179点数解答 | 2024-12-11 13:09:13)207
- Python三关挑战:文件与文件夹数量统计及路径获取(字节豆包 | 493点数解答 | 2024-12-11 13:29:49)220
- Python实现:输入5个字符统计“0”出现次数及开发注意要点(字节豆包 | 255点数解答 | 2026-01-16 14:23:30)43