首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列算法说明和代码,将应填入(n)处的语句写在对应栏内。 【说明】 本程序用古典Eratosthenes;筛选法求从2起到指定范围内的素数。如果要找出2~10中的素数,开始时筛中有2~10的数,然后取走筛中最小的数2,宣布它是素数,并把
阅读下列算法说明和代码,将应填入(n)处的语句写在对应栏内。 【说明】 本程序用古典Eratosthenes;筛选法求从2起到指定范围内的素数。如果要找出2~10中的素数,开始时筛中有2~10的数,然后取走筛中最小的数2,宣布它是素数,并把
admin
2010-01-15
82
问题
阅读下列算法说明和代码,将应填入(n)处的语句写在对应栏内。
【说明】
本程序用古典Eratosthenes;筛选法求从2起到指定范围内的素数。如果要找出2~10中的素数,开始时筛中有2~10的数,然后取走筛中最小的数2,宣布它是素数,并把该素数的倍数都取走。这样,第一步以后,筛子中还留下奇数3、5、7、9;重复上述步骤,再取走最小数3,宣布它为素数,并取走3的倍数,于是留下5、7。反复重复上述步骤,直到筛中为空时,工作结束,求得2~10中的全部素数。
【代码】
# include <stdio.h>
# define MAX 22500
/*程序中用数组sieve表示筛子,数组元素sieve
的值为1时,表示数i在筛子中,值为-1时表示数i已被取走*/
main()
{ unsigned int i, range, factor, k;
int sieve[MAX];
printf("please input the range:");
scanf("%d", &range);/* range 指出在多大的范围内寻找素数*/
for(i=2; i<=range; i++)
(1);
factor=2;
while (factor<=range)
{ if((2)) /* 筛中最小数是素数 */
{ printf("%d\t", factor);
k=factor;
while (k<=range) /*移走素数的倍数 */
{ (3);
k=(4);
}
}
(5);
}
}
选项
答案
(1)sieve[i]=i (2)sieve[factor]>0 (3)sieve[k]=-1 (4)k+factor (5)factor++
解析
本题考查在C语言中实现素数的选取。
题目要求从指定范围内的数中选取其中的素数,并给出了相关的选取方法。在做题前我们首先需要清楚什么是素数,素数又叫质数,是指除1和自身之外,没有其他约数的正整数。—下面我们来分析程序。
第(1)空在第一层循环体下面,题目要求用数组sieve表示筛子,但在程序中并没有给数组输入值,此空应该是在循环下往数组中存放数值,其存放的位置与数值的大小对应,因此,此空答案为sieve
=i。
第(2)空是条件判断语句的条件,从注释中我们可以知道,这个条件判断语句的作用是筛中最小数是素数,是素数的话一定在数组中,元素的值就应该大于0。那么条件应该是判断数组中当前位置的值是否大于0,如果是,则执行判断语句下的语句,即筛选出这个数且这个数是素数。结合题目给出的条件,知道此空答案为sieve[factor]>0。
第(3)空是移走素数的倍数这个循环下面的语句,此循环的作用就是移走当前最小素数的倍数,题目要求在移走了数值以后,数组中相应的值为-1,那么此空的作用应该是将数组中该移走数的相应值变为-1,因此,此空答案为sieve[k]=-1。
第(4)空是紧接着上面一空来的,变量k中存放的是数组当前的下标,而变量factor中存放的是当前最小的素数。此空所在循环体的作用是移走当前最小素数的倍数,求倍数时,只要在该数的基础上加上该数,那就是两倍,再加一个就是三倍,由此直到最大范围。因此,此空答案应该是k+factor。
第(5)空是while(factor<=range)循环下的最后一条语句,我们从程序中可以看出,factor中存放的是当前的最小素数,同时也是此素数在数组中的下标位置。题目告诉我们在处理完当前素数后,应该去取下一个素数,下标位置往后移动。因此,此空答案为factor++。
转载请注明原文地址:https://kaotiyun.com/show/tBjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
当前,大部分商业DBMS中所用的主要数据模型是()。
国际标准化组织提出的开放系统互连OSI参考模型,将计算机网络分成7层,其中最底层是()。
以下关于数据录入人员和数据校验人员工作职责的叙述中,不正确的是______。
在Microsoft Word中点击“文件”→“另存为”,在保存类型下拉框中不能选择的有(45)。
假设100个数据的平均值为82.31,其中有10个数据又发生了如下增减变化:+3.52,+2.87,-4.13,+5.34,-2.87,+2.50,-3.52,+4.23,-5.04,+0.10,则新的平均值变为(26)。
双击某个非可执行程序的文件名将(24)。
在Excel中,下列符号属于比较运算符的是(43)。
据某地区统计,今年中小学生中肥胖学生约占10%,而且,肥胖学生人数正在以8%的速度增长。假设近年中小学生的总量变化不大,据此我们可以推算出,明年该地区中小学生中肥胖学生的比例约为(64)。
在Word2007中要建立一个表格,方法是()。
以下定性的分类变量中,(9)属于有序变量(能排序)。
随机试题
与西药利尿药联用,可减轻因应用西药利尿药而导致的口渴等副作用的是()。
某男,66岁,体检中发现空腹血糖6.3mmol/L,无自觉症状,医生建议他做葡萄糖耐量试验,试验结果被确诊为糖尿病病人经过两年综合治疗,到医院复查,医生想了解病人近一段时间血糖控制情况,建议他抽血检查糖化血红蛋白。请问糖化血红蛋白可以反映多长时间血糖控
评价化学毒物急性毒性大小最重要的参数是
咯血最常见于
根据案例背景,回答以下问题。某高校新校区修建了6栋学生住宅楼,建成使用后产生了严重的地基不均匀沉降。经初步调查,事故可能与住宅楼地下存在古河道、工程地质勘察单位对该古河道淤泥质土承载力判断失误有关。关于该事故的处理:该事故处理过程应当包括(
有位投资者重点考察了A城和B城。在A城,他坐在街头擦皮鞋,擦皮鞋大婶先把他的一只鞋的鞋带解开,擦完等他付了钱才系上。这个细节让他不得不怀疑这个城市市民的道德水准一一定是有人擦完鞋没付钱跑掉过。在B城,他搭了5次出租车,下车前,5位机都提示:先生,请带好您的
遗传密码的摆动性是指
在考生文件夹下,打开文档WORD1.DOCX,按照要求完成下列操作并以该文件名(WORD1.DOCX)保存文档。将文中所有错词“业经”替换为“液晶”;将标题段文字(“大型TFT液晶显示器市场将复苏”)设置为小三号楷体、34红色、加粗、居中并添加黄色阴影
Influenzaiscausedbyavirus______oneperson______anotherindropletscoughedorsneezedintotheair.Itischaracterizedby
[A]apparent[B]automatic[C]Consequently[D]Decidedly[E]decline[F]delightful[G]enrollments[H]financial[I]intimate[J]junior[K]prof
最新回复
(
0
)