c语言 输出0~200间的全部素数,素数的个数以及素数的和

如题所述

#include <stdio.h>
int judge(int a)
{
int i;
int flag=1;
if(a==1)
flag=0;
else if(a==2||a==3)
flag=1;
else
{
for(i=2;i<a-1;i++)
{
if(a%i==0)
{
flag=0;
break;
}
}
}
return flag;
}
int main()
{
int a,i;
int count = 1;
int sum = 0;
for(a=2;a<=200;a++)
{
if(judge(a)==1)
{
count ++;
sum = sum+a;
printf("%d ",a);
if(count % 5 == 0)
printf("\n");
}

}
printf("\n0-200素数的个数为%d个,所有素数的和为:%d\n",count-1,sum);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-11-23
#include <stdio.h>
int is_prime(int n)
{
    for(i = 2; i < n; i ++)
        if(n%i==0) return 0;
        
    return 1;
}

int main()
{
    int s = 0, i;
    for(i = 2; i < 200; i ++)
        if(is_prime(i))
        {
            printf("%d,", i);
            s += i;
        }
        
    printf("\n素数和为%d\n",s);
    
    return 0;
}

相似回答