首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列程序的功能是:将不超过整数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
42
问题
下列程序的功能是:将不超过整数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://jikaoti.com/ti/cw97FFFM
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
对n个记录的文件进行快速排序,最坏情况下的执行时间为_____。
计算机网络使用的通信介质包括______。
链表中数据元素的入栈顺序为abcde,则其出栈顺序为______。
数据库管理系统中,为了保证事务的正确执行,维护数据库的完整性,要求数据库系统维护以下事务特性:_____、一致性、隔离性和持久性。
在多级目录结构中查找一个文件时需要按路径名搜索,当层次较多时要耗费很多时间,为此要引入_____。
操作系统有两个重要的作用,一个是管理系统中的各种软硬件资源;另一个是向用户提供良好的_____。
在同时具备死锁的4个必要条件时,就会产生死锁。如果规定系统所有进程在整个运行过程申请资源要么一次性得到满足,要么一个资源都不分配给该进程,这是破坏了哪一个必要条件?()
有如下两个关系,其中雇员信息表关系EMP的主键是雇员号,部门信息表关系DEPT的主键是部门号。若执行下面列出的操作,哪个操作不能成功执行?______。
下列哪一个工具是Oracle数据库管理系统提供的CASE工具?
当对视图进行UPDATE、INSERT和DELETE操作时,为了保证被操作的行满足视图定义中子查询语句的谓词条件,应在视图定义语句中使用可选择项______。
随机试题
《内经》所言“用热远热",是指
女性,60岁。短暂阵发性左侧肢体抽搐1年,每次持续2~3分钟入院。入院后神经系统检查阴性。既往有肝硬化病史,平时WBC3.0×109/L左右,血小板108×109/L。对该患者除癫痫外,其他需要鉴别的疾病是
A阳黄迁延失治B素体脾阳不足C虫体阻滞D重感外邪E过用利湿药阳黄转为阴黄的条件是
《物业管理条例》授权给省、自治区、直辖市确定的事项有()。
遗传素质决定能力发展的水平。()
请以“梦想与现实”为内容,仿照下面的示例写两个句子。要求:每个句子都采用比拟的修辞方法,两个句子之间构成对偶。示例:太阳热烈、奔放,带着万丈光芒,给生灵以活力;月亮温馨、宽容,带着无际清辉,给万物以安宁。仿写:_____________
某软件开发从详细设计到集成测试各阶段所需工作量估计(按软件工程师人月数估计)如表1所示,这几个阶段分配的软件工程师和程序员人数如表2所示。假设编码与单元测试阶段,软件工程师的生产率是程序员的2倍。若在该项目的这几个阶段都增加一名软件工程师,则这几个阶段可以
软件生命周期一般可以划分为八个阶段。其中确立软件系统的总体结构,子系统划分,并提出软件结构图是属于下列哪个阶段的工作内容
Accordingtothepassage,"scheduling"meansthatyou
年画(NewYearPainting)是中国画的一种,始于古代的门神画(doorgodpainting),在清朝光绪年间正式被称为年画。北宋年间,每逢过年过节家家户户贴年画已成为一种风尚。木板年画历史悠久,堪称中国民间艺术宝库中的一颗明珠。木版年画
最新回复
(
0
)