酷代码 AI
菜单
服务商

先输入一个正整数 n n,如果 n n 是奇数,则求 1 c++1~ n n 之间所有的偶数之和;如果 n n 是偶数,则求 n n 所有的约数之和(包括1和本身)。

以下是解决该问题的 C++ 代码: ```cpp #include <iostream> // 计算 1 到 n 之间所有偶数之和 int sumOfEvenNumbers(int n) { int sum = 0; for (int i = 2; i < n; i += 2) { sum += i; } return sum; } // 计算 n 的所有约数之和 int sumOfDivisors(int n) { int sum = 0; for (int i = 1; i <= n; i++) { if (n % i == 0) { sum += i; } } return sum; } int main() { int n; std::cout << "请输入一个正整数 n: "; std::cin >> n; if (n <= 0) { std::cout << "输入的数必须是正整数。" << std::endl; return 1; } 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; } ``` 代码说明: 1. `sumOfEvenNumbers` 函数:该函数用于计算 1 到 `n` 之间所有偶数之和。通过一个 `for` 循环,从 2 开始,每次增加 2,将所有偶数累加到 `sum` 中。 2. `sumOfDivisors` 函数:该函数用于计算 `n` 的所有约数之和。通过一个 `for` 循环,从 1 到 `n`,检查每个数是否是 `n` 的约数,如果是,则将其累加到 `sum` 中。 3. `main` 函数:首先,从用户输入中读取一个正整数 `n`。然后,检查 `n` 是否为正整数,如果不是,则输出错误信息并退出程序。接着,判断 `n` 是奇数还是偶数,如果是奇数,则调用 `sumOfEvenNumbers` 函数计算 1 到 `n` 之间所有偶数之和;如果是偶数,则调用 `sumOfDivisors` 函数计算 `n` 的所有约数之和。输出计算结果。 [2026-02-06 18:34:10 | AI问答 | 628点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多