输入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
函数计算出结果并输出。
【相关推荐】