#include <stdio.h>
#include <stdlib.h>
#define MAXNUM 1000//定义一个最大数,现在是求1000以内的素数,定义为1000
int main()
{
int i,j,c=0;
int prime[MAXNUM+1];//保存素数的数组
for(i=2;i<=MAXNUM;i++)//初始化数组
prime[i]=1;//标志为1表是对应的数是素数
for(i=3;i<=MAXNUM;i++)//循环计算各数
{
prime[i]=PrimeNum(i);//判断i是否是素数
}
for(i=2;i<=MAXNUM;i++)//输出素数
{
if (prime[i]==1)//如果是素数
{
printf("%4d",i);//输出素数
c++;
if (c%10==0)//每行输出10个数据
printf("\n");
}
}
printf("\n");
getch();
return 0;
}
//判断数i是否为素数
int PrimeNum(int i)
{
int j,flag=1;
for(j=2;j<=i-1;j++)//循环除以每个数
{
if(i%j==0)//i能被j整除,表示不是素数
{
flag=0;
break;
}
}
return flag;//返回结果
}