先建立一个数组赋值为2-100
再用二重循环标记每个素数的倍数为0,最后打印出为被标记不为0的数即为素数
#include "stdio.h"
#define Size 99
int main()
{
int a[Size],i,j;
for(i=0;i<Size;i++)
a[i]=i+2;
for(i=0;i<Size;i++)
{
if(a[i])
{
for(j=i+1;j<Size;j++)
if(a[j]%a[i]==0)
a[j]=0;
}
}
for(i=0;i<Size;i++)
if(a[i]!=0)
printf("%d\t",a[i]);
printf("\n");
return 0;
}
结果
来自:求助得到的回答