内容简介:
南开大学二级C语言试题库,共71页
1:下列程序的功能是:将大于整数m且紧靠m的k个素数存入数组xx。请编写函数num(int m,int k,int xx[])实现函数的要求 ,最后调用函数readwriteDAT()把结果输出到文件out.dat中。
例如:若输入17,5,则应输出:19,23,29,31,37。
注意:部分源程序已给出。
请勿改动主函数main()和函数readwriteDAT()的内容。
---------类型:素数。
void num(int m,int k,int xx[]) /*标准答案*/
{int data=m+1;
int half,n=0,I;
while(1)
{half=data/2;for(I=2;I﹤=half;I++)
if(data%I==0)break;
if(I﹥half)
{xx[n]=data;n++;}
if(n﹥=k)break;
data++;
} }
或者:
void num(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--;}
} }
或者:
void num(int m, int k, int xx[])
{ int i=0;
for(m=m+1;k﹥0;m++)
if(isP(m))
{ xx[i++]=m;
k--; } }
原程序如下:
#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 ;
}
......
相关说明:
1、下载本站部分资料,需要注册成为本站会员。如果你尚未注册或登录,请首先注册或登录。
2、48小时内下载同一文件,不重复扣金币。
3、下载后请用WinRAR或WinZIP解压缩后使用。
4、如采用迅雷等下载工具下载失败,请直接用浏览器下载。
5、如仍有其他下载问题,请看常见问题解答。
下载地址: