首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列程序的功能是:将不超过整数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
53
问题
下列程序的功能是:将不超过整数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全国计算机三级
相关试题推荐
设关系R,S和T分别如下图所示。则有
在关系数据库设计中,设计关系模式是在数据库设计中()阶段完成的任务。
操作系统的安全措施有【】、【】和【】。
MicrosoftSQLServer2000和CommerceServer2000集成使用,可以创建B2B和B2C网站,并支持______数据分析。
散列法存储中处理碰撞的方法主要有两类:拉链法和_____。
对于给出的一组权w={5,6,8,12},通过霍夫曼算法求出的扩充二叉树的带权外部路径长度为_____。
下面所列的条目中:Ⅰ.语法检查Ⅱ.语义检查Ⅲ.用户存取权限检查Ⅳ.数据完整性检查当用户发出查询数据库数据的命令时,数据库管理系统需要进行的检查是______。
下面哪一种方法不能用于提高文件目录检索效率?______。
分布式数据库系统是由一组数据组成的,这组数据分布在计算机网络的不同计算机上,网络中的每个结点具有独立处理的能力(称为______),可以执行局部应用。同时,每个结点也能通过网络通信子系统执行全局应用。
随机试题
(2013年)假定某商业银行吸收到1000万元的原始存款,然后贷放给客户,法定存款准备金率为12%,超额准备金率为3%,现金漏损率为5%,则存款乘数是()。
急性心肌梗死患者的临床表现有【】
西方主要资本主义国家普遍出现无产阶级报刊的时间是()
试述利益集团产生的社会条件。
法律思维是按照法的原理、法律原则和立法精神,分析、解决法律问题的习惯和思想取向。下列选项中,符合我国社会主义法律思维的是
"Family"isofcourseanelasticword.ButwhenBritishpeoplesaythattheirsocietyisbasedonfamilylife,theyarethinking
某施工合同约定以《建设工程价款结算暂行办法》作为结算依据,该工程结算价约6000万元,发包人应从接到承包人竣T结算报告和完整的竣工结算资料之日起()天内核对(审查)完毕并提出审查意见。
根据《建筑安装工程费用项目组成》的规定,建筑安装工程费由()组成。
生产危险货物出口包装容器的企业,必须向检验检疫机构申请包装容器的()
在计算机内部用来传送、存储、加工处理的数据或指令所采用的形式是____________。
最新回复
(
0
)