C++ 实现根据输入正整数奇偶性计算偶数和或约数和
### 👀代码功能分析 这段 C++ 代码实现了根据用户输入的正整数 `n` 进行不同计算的功能: - 若 `n` 为奇数,计算 1 到 `n` 之间所有偶数之和。 - 若 `n` 为偶数,计算 `n` 的所有约数之和。 ### 🌟代码解释 1. **`sumOfEvenNumbers` 函数**: - 该函数接收一个整数 `n` 作为参数。 - 使用 `for` 循环从 2 开始,以 2 为步长遍历到 `n` 之前的所有偶数,将这些偶数累加到变量 `sum` 中。 - 最后返回累加结果。 2. **`sumOfDivisors` 函数**: - 该函数接收一个整数 `n` 作为参数。 - 使用 `for` 循环从 1 遍历到 `n`,判断每个数是否为 `n` 的约数(即 `n % i == 0`),若是则累加到变量 `sum` 中。 - 最后返回累加结果。 3. **`main` 函数**: - 提示用户输入一个正整数 `n`。 - 通过判断 `n` 是否为奇数(`n % 2 == 1`),调用不同的函数进行计算。 - 输出计算结果。 ### 💡优化建议 - **输入验证**:可以添加输入验证,确保用户输入的是正整数。 - **函数注释**:可以进一步完善函数的注释,提高代码的可读性。 ### 优化后的代码 ```cpp #include <iostream> // 当 n 为奇数时,计算 1 到 n 之间所有偶数之和 int sumOfEvenNumbers(int n) { int sum = 0; // 从 2 开始,以 2 为步长遍历,累加偶数 for (int i = 2; i < n; i += 2) { sum += i; } return sum; } // 当 n 为偶数时,计算 n 的所有约数之和 int sumOfDivisors(int n) { int sum = 0; // 遍历 1 到 n 的所有数 for (int i = 1; i <= n; i++) { // 如果 i 是 n 的约数,则累加到 sum 中 if (n % i == 0) { sum += i; } } return sum; } int main() { int n; while (true) { std::cout << "请输入一个正整数 n: "; std::cin >> n; if (n > 0) { break; } std::cout << "输入无效,请输入一个正整数。" << std::endl; } if (n % 2 == 1) { // n 是奇数,计算 1 到 n 之间所有偶数之和 int result = sumOfEvenNumbers(n); std::cout << "1 到 " << n << " 之间所有偶数之和为: " << result << std::endl; } else { // n 是偶数,计算 n 的所有约数之和 int result = sumOfDivisors(n); std::cout << n << " 的所有约数之和为: " << result << std::endl; } return 0; } ``` ######[AI问答 | 838点数解答 | 2026-02-28 20:23:59]
- 使用位运算对黄金城原材料编号进行奇偶分类的C++程序(字节豆包 | 211点数解答 | 2026-02-28 20:38:57)5
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)331
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)298
- 幼儿园小朋友学号奇偶分类:代码实现与详细解释(字节豆包 | 406点数解答 | 2025-11-26 19:39:05)51
- C++实现:输入整数判断奇偶性及是否为 5 或 4 的倍数(DeepSeek | 137点数解答 | 2026-01-04 19:15:44)31
- 超详细!整数奇偶与倍数判断代码解析及补全(字节豆包 | 462点数解答 | 2026-01-08 12:43:56)35
- C++:判断输入整数奇偶性及是否为 4 或 5 的倍数(字节豆包 | 159点数解答 | 2026-01-17 19:02:05)34
- C++ 代码实现自定义运算 x@y = x² + y² - xy 及 x@(x+y) 计算(DeepSeek | 215点数解答 | 2025-12-13 15:08:14)53
- C++ 实现根据输入正整数奇偶性计算偶数和或约数和(字节豆包 | 838点数解答 | 2026-02-28 20:23:59)6
- 无名杀技能代码公开:奇偶手牌触发不同摸弃牌效果,开发要点揭秘(DeepSeek | 279点数解答 | 2025-10-12 21:19:15)101
- C++ 编程:计算黑衣人布袋中黄宝石总重量(字节豆包 | 132点数解答 | 2025-10-18 19:02:51)124
- 揭秘成都治水管水改革:五大机制闭环管理,技术报告助力供排水智能化优化(GPT | 372点数解答 | 2023-12-04 09:49:06)291