100以内求素数之和错误不知道在哪?求指点

#include<stdio.h>

#define M 100

int s(int x)

{

int i,m,s2=0;

for(m=3;m<=x;m++)

{

for(i=2;i<m;i++)

{

if(m%i)

s2+=m;

}

}

s2=s2+2;

return(s2);

}



void main()

{

int s1=0;

s1=s(M);

printf("100以内素数之和:%d\n",s1);

}

运行结果是30多万。

青苹果Bian红苹果
浏览 1304回答 3
3回答

__YXQ__

int i,m,j,s2 = 0; bool f = false; for ( m = 3;m<=x;m++ ){     for( i = 2;i<m;i++ ){         j = m%i;         if( j>0 ){             f = true;         }         else{             f = false;             break;         }     }     if(f){         s2 +=m;     } } 把楼上的思想写出来了,,之前写错了...
打开App,查看更多内容
随时随地看视频慕课网APP