编写一个函数void fun(int m,int k,int xx[]),:将大于整数m且紧靠m 的k个素数存入xx所指的数组中
#include<conio.h>#include<stdio.h>voidfun(intm,intk,intxx[]){inti,j=0,p=m+1;do{for(i=...
#include <conio.h>
#include <stdio.h>
void fun(int m, int k, int xx[])
{ int i,j=0,p=m+1;
do
{for( i=2; i<p; i++)
if(p%i==0) break;
if(i>=p) xx[j++]=p;
p++;
} while(j<k);
}
main()
{ int m,n,zz[1000];
printf("\n please enter two integers: ");
scanf("%d%d",&m,&n);
fun( m,n,zz);
for(m=0; m<n; m++)
printf("%d ", zz[m]);
printf("\n");
}
第八行那个if(i>=p) xx[j++]=p; i怎么会大于等于p啊!
哪位大神帮我解答啊! 展开
#include <stdio.h>
void fun(int m, int k, int xx[])
{ int i,j=0,p=m+1;
do
{for( i=2; i<p; i++)
if(p%i==0) break;
if(i>=p) xx[j++]=p;
p++;
} while(j<k);
}
main()
{ int m,n,zz[1000];
printf("\n please enter two integers: ");
scanf("%d%d",&m,&n);
fun( m,n,zz);
for(m=0; m<n; m++)
printf("%d ", zz[m]);
printf("\n");
}
第八行那个if(i>=p) xx[j++]=p; i怎么会大于等于p啊!
哪位大神帮我解答啊! 展开
1个回答
展开全部
do
{
for( i=2; i<p; i++)
{
if(p%i==0)
{
break;
}
}
if(i>=p) xx[j++]=p;
p++;
} while(j<k);
for 循环体只有一个 if ,i>=p已经在循环外了。当 for 循环执行到 i == p 然后退出循环而不是在里面 break 出来时, i == p. 其实就是判断是 break 出来的还是循环结束出来的。用 i >= p 是因为 i >= p 包含了 i==p,程序员一种习惯而已。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询