使用筛选法求 100 以内的素数。算法如下: 1. 在一维数组中存入 2,3,...100, 即 p[i]=i 2 . i 从 2 开始到 50 为止,当 p[i] 不等于 0 ,则 p[i] 是素数,对于 p[i] 的 2,3 ,。。。 j 倍的数,即 p[p[i]*j] 置 0 ,即表示该数不为素数。 源程序如下: #include void IsPrime(int p[]){ int i,j; for(i=2;i<100;i++)p[i]= 【 1 】 ; i=2; while(i<50){ while( 【 2 】 ) i++; j=2; while( 【 3 】 ) p[ 【 4 】 ]=0; i++; }; } int main(){ int prime[100]; int i,n; IsPrime(prime); for(n=0,i=2;i<100;i++) if(prime[i]!=0){ printf("%d\t",prime[i]); if(++n%5==0)printf("\n"); } printf("\n"); }