14题
请编写一个函数jsValue(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入数组xx传回。
最后调用函数writeDat()读取10组数据,分别得出结果且把结果输出到文件out.dat中。
例如:若输入17,5,则应输出:19,23,29,31,37。
请勿改动主函数main()和写函数writeDat()的内容。
#include<stdio.h>
void jsValue(int m,int k,int xx[])
{
}
main()
{
int m,n,zz[100];
prinf("\n请输入两个整数:");
scanf("%d%d",&m,&n);
jsValue(m,n,zz);
for(m=0;m<n;m++)printf("%d ",zz[m]);
printf("\n");
writeDat();
}
wtiteDat()
{
int m,n,zz[100],i;
FILE *.in,*out;
in=fopen("in.dat","r");
out=fopen("out.dat","w");
for(i=0;i<10;i++){
fscanf(in,"%d %d",&m,&n);
jsValue(m,n,zz);
for(m=0;m<n;m++)fprintf(out,"%d",zz[m]);
fprintf(out,"\n");
}
fclose(in);
fclose(out);
}
注:该题主要是对要素数方法的理解。
void jsvalue(int m,int k,int xx[])
{
int i,j,s=0;
for(i=m+1;k>0;i++)
{for(j=2;j<i;j++)
if(i%j==0) break; /*注:素数为只能被自己和1整除的数.如果i%j等于0,说明i不是素数,跳出本层循环*/
if(i==j)
{xx[s++]=i;k--;}
}
}