请大佬看看我这筛法求素数哪里错了
public class a11 {public static void main(String[] args) {
// TODO 自动生成的方法存根
int[] a = new int[101];
int i,j;
for(i=2;i<=100;i++)
{
a[i]=i;
}
for(i=2;i<=50;i++)
{
if(a[i]!=0)
{
for(j=i+i;j<=100;j=j+i)
{
a[j]=0;
}
}
for(i=2;i<=100;i++)
{
if(a[i]!=0)
System.out.println(a[i]);
}
}
}
}
2 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55
57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99
为什么同样的算法用c语言的结果是正确的?