五、素數(shù)
下列程序的功能是:將大于整數(shù)m且緊靠m的k個素數(shù)存入數(shù)組xx。請編寫函數(shù)num(int m,int k,int xx[])實現(xiàn)程序的要求,最后調(diào)用函數(shù)readwriteDat()把結(jié)果輸出到文件out.dat中。
例如:若輸入17,5,則應(yīng)輸出:19,23,29,31,37。
部分源程序已給出。
請勿改動主函數(shù)main()和輸出數(shù)據(jù)函數(shù)writeDat()的內(nèi)容。 #include
#include
void readwriteDAT();
int isP(int m)
{
int i;
for(i=2;iif(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;mprintf(" %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;mfprintf(wf,"\n" );
}
fclose(rf);
fclose(wf);
}
注:太簡單。
void num(int m,int k,int xx[])
{
int i,j=0;
i=m+1;
while(j{if(isp(i)) xx[j++]=i;
i++;
}
}
下列程序的功能是:將大于整數(shù)m且緊靠m的k個素數(shù)存入數(shù)組xx。請編寫函數(shù)num(int m,int k,int xx[])實現(xiàn)程序的要求,最后調(diào)用函數(shù)readwriteDat()把結(jié)果輸出到文件out.dat中。
例如:若輸入17,5,則應(yīng)輸出:19,23,29,31,37。
部分源程序已給出。
請勿改動主函數(shù)main()和輸出數(shù)據(jù)函數(shù)writeDat()的內(nèi)容。 #include
#include
void readwriteDAT();
int isP(int m)
{
int i;
for(i=2;iif(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;mprintf(" %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;mfprintf(wf,"\n" );
}
fclose(rf);
fclose(wf);
}
注:太簡單。
void num(int m,int k,int xx[])
{
int i,j=0;
i=m+1;
while(j{if(isp(i)) xx[j++]=i;
i++;
}
}