c语言|C语言-小于等于lim的素数

c语言|C语言-小于等于lim的素数


【c语言|C语言-小于等于lim的素数】①目标
求出小于等于lim的所有素数 ,
存发在数组中 , 并统计个数 。

②命令行
#include< stdio.h>
#include< stdlib.h>
#define MAX 100
~
③定义函数
int fun(int limint aa[MAX
)
{int ijk=0;
for(i=2;i<=lim;i++)
/*小于等于lim的素数 , 因为0和1都不是素数 , 即最小的素数是2 , 所以从2遍历到lim 。 */
{for(j=2;j<i;j++)
/*因为素数的定义是 , 大于1的自然数中 , 除了1和本身以外不再有其他的因数 , 所以只需从2遍历到i-1确认其间没有自然数因子即可 。 */
if(i%j==0)break;
/*如果2到i-1之间有数可以整除i表明i不是素数 , break跳出整个循环 , 不只是跳出这一句 。 */
if(j>=i)aa[k++
=i;
/*如果j>=i , 表明2到i-1之间没有数能整除i , 即i是素数 , 此时将素数 i存入数组中 , 并计数 。 */
return k;

~
④主函数
viod main()
{int limitis;
int aa[MAX
;
/*开辟一个储存空间为100到数组 。 */
printf(\"输入一个整数:\");
scanf(\"%d\"&limit);
s=fun(limitaa);
/*s表示统计到的素数的个数 。 */
for(i=0;i<s;i++)
/*i从0开始计数是因为数组的第一个元素是aa[0
。 */
{if(i%10==0&&i!=0)printf(\"\\");
/*每10个素数为一行 , 回车换行 。 */
printf(\"%5d\"aa[i
);