#include<stdio.h>voidfun(int m,int k,int xx[]){int r=0,temp,p,sign=1;for(temp=m+1;temp<m*m;temp++)//从temp开始循环,判断紧靠temp的整数{for(p=2;p<temp;p++){if(temp%p!=0)//判断temp是否为素数
sign=1;//若是素数,标志设为1else{
sign=0;//若不是素数,标志设为0break;}}if(sign==1&&p>=temp){if(k>=0)//判断已有的素数个数是否已经满足sum个{
xx[r++]=temp;//将素数temp存入数组select
k--;//将题目中要求的素数个数减1}elsebreak;}}}main(){int m, n, zz[1000];voidNONO();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");NONO();}voidNONO(){/* 本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/int m, n, zz[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);fun(m, n, zz);for(m =0; m < n ; m++)fprintf(wf,"%d ", zz[m]);fprintf(wf,"\n");}fclose(rf);fclose(wf);}