用C语言编程输出200以内的素数,并按每行8个数输出?请求强人解答

最好注释一下,谢谢

#include <math.h>
void main()
{
int i,j,n,a[201];
for(i = 1;i<=200;i++)
a[i]=i; /* a[1]--a[200]中存放数据 */
for(i=2;i<sqrt(200);i++)
for(j= i+1;j<=200;j++)
{ /*如j能被i整除,则不是素数,a[j]置0*/
if(a[i]!=0&&a[j]!=0)
if (a[j]%a[i]==0)
a[j]=0;
}
printf("\n");
for(i=2,n=0;i < 200;i++)/*以下按格式输出所有素数*/
{
if (a[i]!=0)/*如a[i]非0,表明i是素数*/
{
printf("%5d",a[i]);
n++;
}
if(n==8)
{
printf("\n");
n=0;
}
}
printf("\n");
}
温馨提示:答案为网友推荐,仅供参考