在main函数中输入一批正整数(以零或负数作为输入结束标志),求其中素数的和。要求定义和调用函数prime(n)判断n是否为素数,当n为素数时函数返回值为1,否则返回值为0。并给出其代码
时间: 2024-02-20 15:58:08 浏览: 74
好的,以下是您所需的代码:
```C++
#include <iostream>
using namespace std;
int prime(int n) {
if (n <= 1) // 1不是素数
return 0;
else if (n == 2) // 2是素数
return 1;
else {
for (int i = 2; i < n; i++) {
if (n % i == 0) // 如果n能够被i整除
return 0; // n不是素数,返回0
}
return 1; // n是素数,返回1
}
}
int main() {
int num, sum = 0;
cout << "请输入一批正整数,以零或负数作为输入结束标志:" << endl;
cin >> num;
while (num > 0) {
if (prime(num))
sum += num;
cin >> num;
}
cout << "素数的和为:" << sum << endl;
return 0;
}
```
在上述代码中,`prime(n)`函数用于判断一个正整数n是否为素数,如果n是素数则返回1,否则返回0。在`main()`函数中,首先输出提示信息,然后读入一批正整数,如果这个正整数是素数,则将其加入到素数的和中,直到读入的数小于等于0为止。最后输出素数的和。
阅读全文