#include <stdio.h> #include <math.h> main() { int a[101]={1,1},i,j;/*将a[0],a[1]初始化为1*/ for(i=2;i<=sqrt(100);i++) if(a[i]==0) for(j=i+1;j<=100;j+=i)/*将2的倍数赋值为1,然后将3,4,……的倍数都赋值为1,剩下的即为质数*/ { a[j]=1; } for(i=0;i<=100;i++) { if(a[i]==0) printf("%5d",i); } printf("\n"); }
这个程序哪儿出错了 为什么运行出来是这?而不是质数呢?