求100到300间的素数和

这个程序哪里错了,为什么
#include<stdio.h>
#include<math.h>
main()
{
int i,j,flag,sum=0;
for(i=100;i<=300;i++);
{

for(flag=0,j=2;j<=i-1;j++)
if(i%j==0)
{
flag=1;
break;
}
if(flag==0)
sum+=i;
}
printf("the sum is%d\n",sum);
}
为什么运行结果是0

#include<stdio.h>

void main()

{int n,i,k;k=0;

for(n=100;n<=300;n++)

{

for(i=2;i<=n-1;i++)

{if(n%i==0)break;

}

if(i>n-1)

k+=i;

}printf("100到bai300的素数和是%d\n",k);

}

扩展资料:

static int SumSu(int m,int n){

baiint sum=0;

dufor(int i=m;i<n;i++){

if(i==1)sum+=1;

int temp = 0 ;

for(int y=1;y<10;y++){

if(i%y==0&&i!=2){

temp++;

if(temp==2){

System.out.println(i);

sum+=i;

参考资料来源:百度百科-质数

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-20
for(i=100;i<=300;i++)这句后面多个分号,去掉分号就对了
第2个回答  推荐于2016-08-13
#include<stdio.h>
#include<math.h>
main()
{
int i,j,flag,sum=0;
for(i=100;i<=300;i++)//此处多了一个分号。。。以修改
{

for(flag=0,j=2;j<=i-1;j++)
if(i%j==0)
{
flag=1;
break;
}
if(flag==0)
sum+=i;
}
printf("the sum is%d\n",sum);
}本回答被提问者采纳
第3个回答  2011-04-20
int is_prime(int x)
{
int i;
for(i = 2; i < x; i++) if(x%i == 0) return 0;
return x;
}

int main(void)
{
int x = 0, y = 0;
for(x = 100; x < 300; x++) y += is_prime(x);
printf("\n%d\n", y);
return 0;
}

/*运行的结果是7215*/

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网