这是一个问题,要求在main函数中输入一批整数(以零或负数作为输入结束标志),求其中素数的和。要求定义和调用函数prime(n)判断n是否为素数,当n为素数时函数返回值为1,否则返回值为0。
时间: 2024-02-26 12:58:27 浏览: 53
函数 可以判断一个数是不是素数
好的,我理解了你的问题。以下是实现该功能的C++代码:
```c++
#include <iostream>
using namespace std;
int prime(int n) {
if (n < 2) {
return 0;
}
for (int i = 2; i <= n / 2; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int n, sum = 0;
cout << "请输入一批整数:";
cin >> n;
while (n > 0) {
if (prime(n)) {
sum += n;
}
cin >> n;
}
cout << "素数的和为:" << sum << endl;
return 0;
}
```
在上面的代码中,prime函数用于判断一个整数是否为素数,它的实现方式是从2到n/2枚举每一个数,如果存在一个数可以整除n,则n不是素数,返回0;否则,n是素数,返回1。
在main函数中,我们首先输入一批整数,然后逐个判断是否为素数,如果是素数则加入到sum变量中。当输入的数小于等于0时,表示输入结束,输出素数的和即可。
阅读全文