/* 筛选法求100以内的素数 算法: (1)挖去1; (2)用下一个未被挖去的数P去除P后面各数,把P的倍数挖掉; (3)检查P是否小于n的开方的整数部分,如果是,则返回2继续执行,否则就结束。 (4)剩下的数就是素数。 */ #include <stdio.h> #include <math.h> //程序中用到求平方根函数sqrt void main() { int i,j,n,a[101]; //定义a数组中包含101个元素 for(i=1;i<=100;i++) //a[0]不用,只用a[1]到a[100] a[i]=i; //使a[1]到a[100]的值为1到100 a[1]=0; //先“挖掉”a[1] for(i=2;i<=sqrt(100);i++) for(j=i+1;j<=100;j++) { if(a[i]!=0 && a[j]!=0) //关系运算符!=为“不等于”,逻辑运算符&&为“与”,!为“非” if(a[j]%a[i]==0) a[j]=0; //把非素数“挖掉” } printf("/n"); for(i=1,n=0;i<=100;i++) { if(a[i]!=0) //选出值不为0的数组元素,即非素数 { printf(