首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列程序的功能是:将不超过整数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
67
问题
下列程序的功能是:将不超过整数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全国计算机三级
相关试题推荐
以下有关强迫性中断事件的叙述中,哪一个是不正确的______。
加密和解密算法的操作都是在一组密钥控制下完成的,它们分别被称为【】。
嵌入式SQL语句与主语言之间的通信方法是:主语言向SQL语句输入数据主要用主变量(主语言中的程序变量)来实现;SQL语句向主语言输出数据主要用主变量和游标来实现;所谓游标,指的是系统为用户开设的一个【】。
能构造出多少棵不同的二叉排序树?______。这些二叉排序树中有多少棵是最佳二叉排序树?______。
对线性表进行二分法查找,其前提条件是______。
数据库管理系统的数据操纵语言(DML)所实现的操作一般包括______。
若关系R和S的关系代数操作的结果如下,这是执行了()。[*]若关系R和S的关系代数操作的结果如下,这是执行了()。
操作系统主要功能是对系统的资源进行有效管理,包括处理机管理、存储器管理、I/O设备管理、作业管理和______。
为了控制用户程序不能执行特权指令是通过设置PSW中的一个状态位来标志,这一位是
数据库系统的三级组织结构中,DBA视图是【】。
随机试题
关于卵巢浆液性囊腺癌的临床和声像图表现,正确的是
防水卷材在高温下不流淌、不滑动、不起泡,在低温下不脆裂的性能,称为防水卷材的()。
城市污水处理厂厂址的选择与( )无关。
货物招标的厂商协调会的主要内容不包括()。
某施工合同约定钢材由业主提供,其余材料均委托承包商采购。但承包商在以自有机械设备进行主体钢结构制作吊装过程中,由于业主供应钢材不及时导致承包商停工7天。则承包商计算施工机械窝工费向业主提出索赔时应按()。
通信建设_丁程企业专职安全生产管理人员安全生产管理能力考核要点不包括()。
下列关于开放式基金的说法正确的是()。
A、 B、 C、 D、 D,即分母是公差为1的等差数列,分子为分母的平方减1,所以第6项为
全国最大的零售商报告了在过去的6个月中巨大的销售量。在这段销售旺盛的时间里,利润比平时少,这种情况不太寻常,因为当销量增加时利润一般情况下也会增加。如果下列关于过去6个月的说法正确,哪一项最有助于解释以上不寻常的事情?
【S1】【S8】
最新回复
(
0
)