分别将结果输出到文件out.dat这一项还未实现,C语言文件内容还需要复习。
/*请编写一个函数 jsValue(int m,int k,int xx[]),该函数的功能是:将大于整数 m 且紧靠 m 的 k
个素数存入数组 xx 传回。
最后调用函数 writeDat()读取 10 组数据,分别得出结果且把结果输出到文件 out.dat 中。
部分源程序存在文件 prog1.c 中。
例如:若输入 17 5 则应输出: 19, 23, 29, 31, 37。*/
#include<stdio.h>
#include<conio.h>
#define MAX 1000
//void readwriteDat();
/*判断m是否为素数,是返回1,不是返回0*/
int IsP(int m)
{
int i;
for(i=2;i<m;i++)
{
if(m%i==0)
return 0;
}
return 1;
}
/*将m之后k个素数存储在数组xx中*/
void jsValue(int m,int k,int xx[])
{
int i=0;
for(m=m+1;k>0;m++)
{
if(IsP(m))
{
xx[i++]=m;
k--;
}
}
}
/*void WriteDat(int *xx)
{
int i;
for(i=0;i<10;i++)
printf("%d\n",*(xx+i));
}
*/
int main(void)
{
int m,k,n;
int xx[MAX];
printf("请输入m,k(k小于50)\n");
scanf("%d %d",&m,&k);
jsValue(m,k,xx);
for(n=0;n<k;n++)
printf("%d\n",xx[n]);
//readwriteDat();
return 0;
}
/*void readwriteDat()
{
int m,k,xx[MAX],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,&k);
jsValve(m,k,xx);
for(m=0;m<k;m++)
fprintf(wf,"%d",xx[m]);
fprintf(wf,"\n");
}
fclose(rf);
fclose(wf);
}
*/