1、求一个10位数数组中负数的和、奇数的和、偶数的和以及质数的和,编写一个C++程序实现。
时间: 2024-12-02 18:19:31 浏览: 20
计算整数各位数字之和 C++中如何计算任何一个正整数的各位数字之和
在C++中,我们可以创建一个函数来分别计算数组中负数、奇数、偶数和素数的和。这里假设我们有一个名为`isPrime`的辅助函数用于检查一个数是否是素数。下面是程序的基本结构:
```cpp
#include <iostream>
#include <vector>
using namespace std;
// 辅助函数,判断一个数是否为素数
bool isPrime(int num) {
if (num <= 1) return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) return false;
}
return true;
}
// 主函数,计算并输出结果
void sumArrays(vector<int>& arr) {
int negSum = 0, oddSum = 0, evenSum = 0, primeSum = 0;
for (int num : arr) {
if (num < 0) {
negSum += num;
} else if (num % 2 != 0) { // 判断奇数
oddSum += num;
} else { // 判断偶数
evenSum += num;
}
// 如果是素数,同时更新奇数和偶数和,因为素数只能是奇数
if (isPrime(num)) {
oddSum -= num; // 减去重复计算的素数
primeSum += num;
}
}
cout << "负数和: " << negSum << endl;
cout << "奇数和: " << oddSum << endl;
cout << "偶数和: " << evenSum << endl;
cout << "素数和: " << primeSum << endl;
}
int main() {
vector<int> arr = {5, -3, 7, -9, 2, 11, 4, 6, -8, 13}; // 举例10位数数组
sumArrays(arr);
return 0;
}
```
运行这个程序,它会计算给定数组中符合条件的数字之和。
阅读全文