遍历2到100之间所有整数,然后逐一判断是否为素数,如果是则存入数组。
最终遍历数组输出每个值即可。 具体如下:
1、素数的判断。
根据素数定义,除了1和本身不存在其它约数的正整数为素数。
所以在C语言中判断n是否为素数可以从2开始到到n-1逐一尝试,如果可以整除说明不是素数。
更进一步,可以从2判断到n/2或者n的算术平方根,如果不存在约数,那么即为素数。
除此以外,判断素数的算法还有素数筛等。
2、判断素数的函数:
以遍历判断约数的方法为例,函数可以编写如下:
1234567 int isPrime(int n)//判断n是否为素数,如果是则返回1,否则返回0.{ int i; for(i = 2; i <= (int)sqrt(n); i ++)//从2到算术平方根遍历。 if(n%i == 0) return 0;//存在约数,不是素数,返回0. return 1;//不存在约数,返回1,表示为素数。}
3、整体代码示例:
123456789101112131415161718192021222324 #include #include int isPrime(int n)//之前的函数。{ int i; for(i = 2; i <= (int)sqrt(n); i ++) if(n%i == 0) return 0; return 1;}int main(){ int n; int a[100]; int cnt=0; for(n = 2;n<=100; n ++)//遍历2到100所有整数。 if(isPrime(n)) //判断是素数 a[cnt++] = n;//存入数组。 for(n = 0; n < cnt; n ++)//遍历存放素数的数组。 printf("%d ", a[n]);//输出。 printf("\n"); return 0;}
运行结果如下: