首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列程序的功能是:将不超过整数m(m<2000)的所有素数存入数组xx。请编写函数 num(int m,int xx[])实现程序的要求,最后调用函数readwriteDat()把结果输出到文件out.dat中。 例如:若输入30,则应输出:2,3,
下列程序的功能是:将不超过整数m(m<2000)的所有素数存入数组xx。请编写函数 num(int m,int xx[])实现程序的要求,最后调用函数readwriteDat()把结果输出到文件out.dat中。 例如:若输入30,则应输出:2,3,
admin
2010-09-05
56
问题
下列程序的功能是:将不超过整数m(m<2000)的所有素数存入数组xx。请编写函数 num(int m,int xx[])实现程序的要求,最后调用函数readwriteDat()把结果输出到文件out.dat中。
例如:若输入30,则应输出:2,3,5,7,11,13,17,19,23,29。
部分源程序已给出。
请勿改动主函数main()和输出数据函数readwriteDat()的内容。
#include <conio.h>
#include <stdio.h>
void readwriteDat();
int num(int m, int xx[])
{
}
main ( )
{
int m,n,xx[2000];
clrscr();
printf("\nPlease enter the integer m:");
scanf(" %d" ,&m);
n = num(m, xx);
for(m-0;m printf(" %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" ,&m);
n=num(m, xx);
for(m=0;m<n;m++)fprintf(wf," %d" ,xx[m]);
fprintf(wf,"\n" );
}
fclose(rf);
fclose(wf);
}
选项
答案
int hum(int m, int xx[]) { int s=0; int flag[2000]; /*初始化标记数组*/ for (i=0; i<=m; i++) flag[i]=0; /*0和1不是素数*/ flag[0]=flag[1]=1; /*从2开始搜索素数*/ for(i=2; i<=m;i++) { /*被标记为1的不是素数*/ if(flag[i])continue; /*i是素数,输出*/ xx[s++]=i; /*将所有i的倍数标记为1*/ /*小优化:小于i*i的数必有小于i的素因数,已标记*/ for(j=i*i;i<=m;j+=i) flag[j]=1; } /*返回不超过m的素数个数*/ return S; }
解析
类型:素数筛选。
关键点:素数筛选算法。
求给定范围1~n内的所有素数的题,可以使用筛选法,步骤如下:
创建一个0-1标志数组,对应1~n,1代表该数非素数,0代表素数。初始化全为0,以下面的方式将某些位置以1标记:
(1)标记位置1为1(1不是素数),当前位置为2。
(2)从当前位置开始,找到第一个标记为0的数p,p是素数;若找不到,转到6。
(3)遍历数组,将所有p的倍数的位置标记为1。
(4)当前位置前进到p+1。
(5)返回2继续。
(6)输出数组中所有标记为0的数(此步可并入第2步,找到一个输出一个)。
转载请注明原文地址:https://kaotiyun.com/show/5uvZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
对于单个元组的操作是由数据库管理系统DBMS层次结构中的哪一层处理的?
设关系R和S的元数分别是r和s,则集合{t|t=<tr,ts>∧tr∈R∧ts∈S}标记的是
数据库技术的研究领域十分广泛,概括地讲可包括三个主要领域:DBMS软件的研制、数据库设计和_____。
在SQL语言中,如果要为一个基本表增加列和完整性约束条件,应该使用SQL语句【】。
下列问题基于下面的叙述;某二叉树节点的前序序列为E、A、C、B、D、G、F,对称序序列为A、B、C、D、E、F、G。
以下关于链式存储结构的叙述中哪一条是错误的?______。
在关系模式R中,如果X→Y,且对于x的任意真子集X’,都有X’Y,则称Y对X_____函数依赖。
在虚拟段式存储管理中,若逻辑地址的段内地址大于段表中该段的段长,则发生【】。
数据库运行控制功能包括数据的【】控制、【】控制、【】和数据恢复等4个方面。
如果关系模式R的属性之间不存在非平凡且非函数依赖的多值依赖,则R的规范化程度达到了【】。
随机试题
三叉神经痛首选
关于糖皮质激素治疗肾病综合征,正确的叙述是()
关于司法鉴定,下列哪些选项是正确的?
建设工程总承包合同中,不属于承包人权利的是()。
以下各项中,属于流动资金贷款的是()。
贷款发放要遵循的原则是()。
请介绍洪堡对德国教育的改革及其影响。
有三个关系R、S和T如下:由关系R和S通过进行运算得到关系T,则所使用的运算为()。
Directions:Forthispart,youareallowed30minutestowriteacompositiononthetopic:Travel-mateWanted.Youshouldwrite
WhichofthefollowingisNOTtrueabouttheBeatlesaccordingtothepassage?TheBeatles’outstandingqualitieswerereallys
最新回复
(
0
)