输出1到100的素数,也什么我输出的是下面的

#include
int main()
{
int i,j;
printf("%d ",2);
for(i=3;i<=100;i++)
{
for(j=2;j
{
if(i%j!=0)
{
printf("%d ",i);
}
else break;
}
}
return 0;
}

img

#include <stdio.h>
int main()
{
int i,j;
printf("%d ",2);
for(i=3;i<=100;i++)
{
for(j=2;j<i;j++)
{
      if(i%j==0)
      {
        break;
      }
}
if(j==i)
    printf("%d ",i);
}
return 0;
}

你把输出放在内循环里了


#include <stdio.h>
#include<math.h>
int main()
{
    int n,i,k,m=0;
    for(n=2;n<100;n=n+1)
    {  k=sqrt(n);
        for(i=2;i<=k;i++)
        {if(n%i==0) break;}
            if(i>=k+1) {printf("%d\t",n);
            m=m+1;}
            if(m%10==0)
            printf("\n");
    }
    return 0;
}

这个地方错了,i%j==0 跟你这个差别可大了,i%j==0是 只有满足这个条件跳出循环,你这个i%j!=0就输出,可不得输出那么多数么,

img

#include <stdio.h>
int main()
{
int i,j;
printf("%d ",2);
for(i=3;i<=100;i++)
{
for(j=2;j<i;j++)
{
if(i%j==0)
{
    break;
}
 
}
if(j==i)
    printf("%d ",i);

}
return 0;
}