请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入所指的数组中。
请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入所指的数组中。例如,若输入17,5,则应输出19、23、29、31、37。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
**********************************************************************************************************************/
求m后面k个素数,可是我的会出现27,请问是什么原因呢?
程序代码:
#include <conio.h> #include <stdio.h> #include <stdlib.h> void fun(int m,int k,int xx[]) { int x,y=0,z=0; while(k) { m++; for(x=2;x<m;x++) { if(m%x==0) { m++; } } xx[y]=m; y++; k--; } } void main() { FILE *wf; int m,n,zz[1000]; system("CLS"); printf("\nPlease enter two integers: "); scanf("%d%d",&m,&n); fun(m, n, zz); for(m=0;m<n;m++) printf("%d ",zz[m]); printf("\n "); /******************************/ wf=fopen("out.dat","w"); fun(17,5,zz); for(m=0;m<5;m++) fprintf(wf,"%d ",zz[m]); fclose(wf); /*****************************/ }