这是一个问题,要求在main函数中输入一批整数(以零或负数作为输入结束标志),求其中素数的和。要求定义和调用函数prime(n)判断n是否为素数,当n为素数时函数返回值为1,否则返回值为0。
时间: 2024-03-23 08:39:57 浏览: 78
函数 可以判断一个数是不是素数
好的,我明白了你的要求。下面是实现该功能的代码:
```python
#include <stdio.h>
int prime(int n) {
int i;
if (n <= 1) {
return 0;
}
for (i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int n, sum = 0;
while (1) {
scanf("%d", &n);
if (n <= 0) {
break;
}
if (prime(n)) {
sum += n;
}
}
printf("素数的和为:%d\n", sum);
return 0;
}
```
在该程序中,我们定义了一个prime函数来判断一个数是否为素数。该函数采用了较为常见的素数判断方法,即从2到sqrt(n)遍历,判断n是否可以被整除。如果可以被整除,则n不是素数,返回0;否则,n是素数,返回1。
在主函数中,我们不断输入整数,如果输入的整数小于等于0,则退出循环。如果输入的整数是素数,则将其加入到sum变量中。最后输出所有素数的和。
希望这个程序能够满足你的要求。
阅读全文