关于#c++#的问题:输入n( 1 <= n <= 5000 )个正整数

输入n( 1 <= n <= 5000 )个正整数,每个数都在1到20000之间;要求对这n个数中的奇数和偶数分别求和。

这个

#include <iostream>  
using namespace std;  
  
int main() {  
    int n;  
    cout << "请输入数字个数 n: ";  
    cin >> n;  
    int odd_sum = 0, even_sum = 0;  
    for (int i = 0; i < n; i++) {  
        int num;  
        cout << "请输入第 " << i+1 << " 个数字: ";  
        cin >> num;  
        if (num % 2 == 0) {  
            even_sum += num;  
        } else {  
            odd_sum += num;  
        }  
    }  
  
    cout << "奇数和为: " << odd_sum << endl;  
    cout << "偶数和为: " << even_sum << endl;  
  
    return 0;  
}

【以下回答由 GPT 生成】

可以通过遍历给定的n个数,判断每个数是奇数还是偶数,然后累加到奇数和和偶数和的变量中。以下是一个C++的代码实现:

#include <iostream>
#include <vector>

using namespace std;

void calculateSum(const vector<int>& nums, int& oddSum, int& evenSum) {
    for (int num : nums) {
        if (num % 2 == 0) {  // 判断是否为偶数
            evenSum += num;
        } else {  // 奇数
            oddSum += num;
        }
    }
}

int main() {
    int n = 5;
    vector<int> nums = {3, 8, 6, 12, 7};
    int oddSum = 0;
    int evenSum = 0;

    calculateSum(nums, oddSum, evenSum);

    cout << "奇数和 = " << oddSum << endl;
    cout << "偶数和 = " << evenSum << endl;

    return 0;
}

运行结果:

奇数和 = 10
偶数和 = 26

该代码中的calculateSum函数通过引用的方式传入奇数和和偶数和的变量,在遍历的过程中累加对应的和。主函数中定义了输入的数组nums和两个和的变量,并通过调用calculateSum函数计算出结果并输出。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^