c语言改错;求1000以内的素数,要求输出时每行6个数

来源:百度知道 编辑:UC知道 时间:2024/06/09 04:03:41
下面是我做的,但是不知怎么的运行时出现错误提示,请各位大虾们帮帮忙看看是哪里出的问题。因为小弟已经没分了,所以只能心里上感谢好心人啦!~~
#include"stdio.h"
int f(int i)
{
int k,n=1;
for(k=2;k<i;k++)
{
if(i%k==0)
{
n=0;
break;
}
}
return n;
}
main()
{
int i,j=1,a[100]={2},k;
for(i=3;i<1000;i+=2)
{
k=f(i);
if(k)
{
a[j]=i;
j++;
}
}
for(i=0;i<j;i++)
{
printf("%d",a[i]);
if(i%6==0)
puts("");

}

}

a[]数组定义少了 200个差不多
#include "stdafx.h"
#include"stdio.h"
int f(int i)
{
int k,n=1;
for(k=2;k<i;k++)
{
if(i%k==0)
{
n=0;
break;
}
}
return n;
}
void main()
{
int i,j=1,a[200]={2},k;
for(i=3;i<1000;i+=2)
{
k=f(i);
if(k)
{
a[j]=i;
j++;
}
}
for(i=0;i<j;i++)
{
printf("%4d",a[i]);
if(i%6==0)
printf("\n");
}
}

#include"stdio.h"
int f(int i)
{
int k,n=1;
for(k=2;k<i;k++)
{
if(i%k==0)
{
n=0;
break;
}
}
return n;
}
main()
{
int i,j=1,a[200]={2},k;//不止一百个!!!!!!!!!!!!!!
for(i=3;i<1000;i+=2)
{
k=f(i);
if(k)
{
a[j]=i;
j++;
}
}