判断质数
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int primejudge(int a)
{
int i,j;
j=(int)sqrt(1.0*a);
if(a<=1)
{return 0;}
else
for(i=2;i<=j;i++)
{
if(a%i==0) a=0;
}
return a;
}
int main()
{
int a,b,c[1001],d[1001],i,j=1,sum=0;
printf("请输入判断质数起始,且10<=a<=b<=1000\n");
scanf("%d%d",&a,&b);
for(i=a;i<=b;i++)
{
c[i]=primejudge(i);
}
for(i=a;i<=b;i++)
{
if(c[i]!=0)
{
d[j++]=c[i];
sum++;
}
}
for(j=1;j<=sum;j++)
{
if((j+5)%5!=0)
printf("%d ",d[j]);
else printf("%d\n",d[j]);
}
system("pause");
return 0;
}
此处使用j++进行去零排序
for(i=a;i<=b;i++)
{
if(c[i]!=0)
{
d[j++]=c[i];
sum++;
}