首先我们知道先写一个素数的子函数,然后判断返回值为1或0,返回到主函数,再打印出所有素数的和,下面代码使用的c++,仅仅是输入和输出与一般c不同(我个人觉得这样方便一些)
#include <iostream>
#include<string.h>
#include<stdio.h>
using namespace std;
int prime(int n)
{
int i;
for(i = 2; i < n; i++)
if (n % i == 0)
break;
if (i>= n)
return 1;
else
return 0;
}
int main()
{
int i=0,s,num=0;
cout << "A Group Numbers:";
while (i>=0)
{
cin >> i;
s = prime(i);
if (s == 1)
{
if(i>=0)
num+= i;
}
}
cout << "The Sum of Prime Numbers is:" << num;
return 0;
}
这里,首先主函数里面输入一组数列,要求输入0或负数时为结束标志,所以 条件为i>=0,在prime函数中,利用循环和if判断输入是否为素数,在主循环if条件中注意要加上,i>=0,不然就会把你输入的负数标志也参与运算了。
最后再利用num+=i,即相加符合素数的和。