28题 下列程序的功能是:将大于整数m且紧靠m的k个素数存入数组xx。请编写函数num(int m,int k,int xx[])实现程序的要求,最后调用函数readwriteDat()把结果输出到文件out.dat中。
例如:若输入17,5,则应输出:19,23,29,31,37。
部分源程序已给出。
请勿改动主函数main()和输出数据函数writeDat()的内容。 #include <conio.h>
#include <stdio.h>
void readwriteDAT();

int isP(int m)
{
int i;

for(i=2;i<m;i++)
if(m % i==0)return 0;
return 1;
}

void num(int m,int k,int xx[])
{

}

main()
{
int m,n,xx[1000];
clrscr();
printf("\nPlease enter two integers:");
scanf(" %d%d" ,&m,&n);
num(m,n,xx);
for(m=n;m<n;m++)
printf(" %d" ,xx[m]);
printf("\n" );
readwriteDAT();
}

viod readwriteDAT()
{
int m,n,xx[1000], i;
FILE *rf,*wf;


rf=fopen("in.dat" ," r" );
wf=fopen(" out.dat" ," w" );
for(i=0;i<10;i++){
fscanf(rf," %d%d" ,&m,&n);
num(m,n,xx);
for(m=n;m<n;m++)fprintf(wf," %d" ,xx[m]);
fprintf(wf,"\n" );
}
fclose(rf);
fclose(wf);
}


注:太简单。
void num(int m,int k,int xx[])
{
  int i,j=0;
   i=m+1;
 while(j<k)
  {if(isp(i)) xx[j++]=i;
   i++;
  }
}

 

返回南开百题目录

www.163164.cn 联系QQ:3149886