比如我输入17 5,应该输出19,23,29,31,37.我写了一个,但是不知道错误在哪里,好像错误和内存有关。请大侠指点一下。
#include <stdio.h>
#include <stdlib.h>
void fun(int m,int k,int xx[])
{
int i,j=0,q=1,p;
while(q<=k)
{
for (i=m+1;i<m*m;i++)
{
for (p=2;p<i;p++)
{
if(i%p!=0)
xx[j++]=i;
q++;
}
}
}
for (j=0; j<k; j++)
{
printf("%d",xx[j]);
}
}
main()
{
int m,n,zz[1000]={0};
printf("\nplease ent1er two integers :");
scanf("%d %d",&m,&n);
fun(m, n, zz);
printf("\n");
}
麻烦您看看我那个,错在哪啊?我找了半天都不知道错在哪。。。
追答你看看xx[cnt]=i;这里,应该把p走一遍直到p=i时循环结束才能确定它是素数,然后才能给xx[j]赋值