三级数据库技术机试-191.doc

上传人:scccc 文档编号:13194205 上传时间:2021-12-18 格式:DOC 页数:2 大小:24.50KB
返回 下载 相关 举报
三级数据库技术机试-191.doc_第1页
第1页 / 共2页
三级数据库技术机试-191.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《三级数据库技术机试-191.doc》由会员分享,可在线阅读,更多相关《三级数据库技术机试-191.doc(2页珍藏版)》请在三一文库上搜索。

1、三级数据库技术机试 -191( 总分: 100.00 ,做题时间: 90 分钟 )、上机题( 总题数: 1,分数: 100.00)1.程序test.c的功能是:将大于整数 m且紧靠m的k个素数存入数组xx。请考生编写函数num(int mintk,int xx)实现程序的要求,最后调用函数 readwriteDAT() 把结果输出到 out.dat 文件中。例如,若输入 17, 5,则应输出:19, 23, 29, 31 , 37。注意:部分源程序存在 test.c 文件中。请勿改动数据文件 in.dat 中的任何数据以及主函数 main() 和输出函数 readwriteDAT() 的内容。

2、#include < stdio.h > /include 语句说明各程序中包含 vc6.0中的标准输入输出库函数stdio.hvoid readwriteDAT();/ 函数 readwriteDAT() 说明语句int isP(int m) / 函数isP(int m) 判断m是否为素数,如果是素数则返回1,否则返回0int i; / 定义变量 ifor (i=2; i <m; i+) / 变量 i 从2 依次递增到 m-1if (m % i=0) return 0; /如果m能被i整除,返回0return 1; / 否则返回 1void num(int m, int k

3、, int xx) main()int m, n, xx1000; / 定义变量 m, n 和数组 xx1000printf("/nPlease enter two integers:");scanf("%d, %d", &m, %n); / 从键盘读入两个数赋给变量m, nnum (m, n, xx);/调用函数num(int m , int k , int xx)实现将大于整数 m且紧靠m的k个素数存入数组 xxfor (m=0; m < n; m+) / 变量m从0依次递增到n-1printf("%d" , xxm

4、); / 输出数组元素 xxmprintf("/n"); / 输出一个回车换行符readwriteDAT();/ 调用函数 readwriteDAT() 把结果输出到 out.dat 文件中void readwriteDAT()/ 函数 readwriteDAT() 的定义语句int m , n, xx1000 , i; / 定义整型变量 m, n, i 和数组 xx1000FILE *rf , *wf; / 定义文件指针变量 rf , wfrf=fopen("in.dat" , "r"); / 以只读的方式的打开文件 in.dat

5、,并用 rf 指向这个文件wf=fopen("out.dat" , "w"); / 以只写的方式的打开文件 out.dat ,并用 wf 指向这个文件for (i=0; i < 10; i+) / 循环变量 i 从 0 依次递增到 9 fscanf (rf , "%d%d", &m, &n); / 从文件 in.dat 读入两个数值赋给 m, nnum (m, n, xx);/调用函数函数num(n, k, xx)实现将大于整数 m且紧靠m的k个素数存入数组 xx for(m=0;m < n; m+) /

6、循环变量 m从0依次递增到n-1fprintf (wf,"%d",xxm); / 把数组元素 xxm 写入到文件 out.dat 中fprintf (wf , "/n"); /把回车换行符写入到文件 out.dat 中fclose (rf); /关闭输入文件 in.datfclose (wf); /关闭输出文件 out.dat分数: 100.00 ) 正确答案: (int cnt=0; / 定义变量 cnt 并初值等于 0while (ent < k) /当ent的值小于k时m+; /变量 m加1if (isP (m) xxcnt+=m;/如果m为素数,则把其赋给数组元素xxcnt,并且数组的下标 ent加1)解析:解析将大于整数m且紧靠m的k个素数存入数组。 解题思路 首先定义一个计数变量cnt 并赋初值为 0。 利用while循环统计大于整数 m且紧靠m的k个素数,当计数变量 ent的值与变量k的值相等的时候, 则退出while循环。每执行一次循环时,变量m的值加1,然后调用函数isP()判断当前的m值是否为素数, 如果是素数,则将 m的值赋给数组xxcnt,同时计算变量ent的值加1,即当数组xx0中保存了一个素 数之后,在下一次素数判断成立时将保存到 xx1 的位置上,依次类推。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1