首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
用筛选法可得到2~n(n
用筛选法可得到2~n(n
admin
2015-12-22
75
问题
用筛选法可得到2~n(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非0数,并从数表中删去该数的所有倍数;依此类推,直到所找的下一个数等于n为止。这样会得到一个序列:
2,3,5,7,11,13,17,19,23,……
函数fun用筛选法找出所有小于等于n的素数,并统计素数的个数作为函数值返回。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include
int fun(int n)
{ int a[10000],i,j,count=0;
for (i=2; i<=n; i++) a
= i;
i=2;
while(i
/**********found**********/
for(j=a
*2;j<=n;j+=___1___)
a[j]:0;
i++;
/**********found**********/
while(___2___ ==0)
i++;
}
printf("\nThe prime number
between 2 to%d\n",n);
for(i=2;i<=n;i++)
/**********found**********/
if(a
!=___3___)
{ count++;printf(count%15?
"%5d":"\n%5d",a
);}
return count;
}
main()
{ int n=20,r;
r=fun(n);
printf ("\nThe number of prime is:
%d\n", r);
}
选项
答案
(1)a[i] (2)a[i] (3)0
解析
fun函数的功能是用筛选法可得到2~n(n<10000)之间的所有素数。
第一空:循环“for(j=a
*2;j<=n;j+=__1__)”中,循环变量j的初始值从a
的2倍开始,下一次进入循环j就是a
的3倍,第一空处是补充j的变化情况,而j每次都增加一个a
,即第一空处应为“a
”。
第二空:根据题意第二空处是从数表中找下一个非0数,即在循环中比较a
是否为0,如果为0的话,i++指向后一个数表元素,故第二空处应为“a
”。
第三空:根据语句“{ count++;pfintf(count%15?"%5d":\n%5%",a
); }”可知在满足条件之后计数变量count自增,并且输出a
,可知a
是一个素数,由审题分析可知,经过筛选之后数表中非0的元素就是素数,故第三空处应为“0”,即a
不为0的话就是素数。
转载请注明原文地址:https://kaotiyun.com/show/TXDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序:main(){intt=1,i=5;for(;i>=0;i--)t*=i;printf("%d\n",t);}执行后的输出结果是【】。
下述关于数据库系统的叙述中正确的是______。
有以下程序:main(){chars[]="ABCD",*p;for(p=s+1;p<s+4;p++)printf("%s\n",p);}程序运行后的输出结果是______。
当变量c的值不为2、4、6时,值也为“真”的表达式是
长度为n的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为【】。
有以下程序段,且变量已正确定义和赋值for(s=1.0,k=1;k<=n;k++)s=s+1.0/(k*(k+1));printf("s=%f\n\n",s);请填空,使下面程序段的功能与之完全相同s=1.0;k=1;w
下列语句中,在字符串s1和s2相等时显示“theyareEqual”的是()。
用筛选法可得到2~n(n
用筛选法可得到2~n(n
用筛选法可得到2~n(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非0数,并从数表中删去该数的所有倍数;依此类推,直到所找的下一个数等于n为止。这样会得到一个序
随机试题
我国对教师实行的职业许可制度是
知觉
“纸上学来终觉浅,绝知此事要躬行”这句话蕴含的哲理是()
患者男性,主诉上腹痛。六个月前出现上腹疼痛,近日疼痛加重,无发热,无体重下降,二便正常。疼痛易发生在进大量脂肪食后,并向右背右肩放射。拟诊为____________。
下列说法错误的是
下列使用腋拐的方法不正确的是
手术后,胃肠减压管拔除的指征是
女,34岁。因1个月来发热、乏力、咳嗽,l天来左眼突然失明来院。既往有心脏杂音。查体:体温37.9℃,脉率96次/分,血压128/75mmHg,左眼视力消失,双肺(一),心界不大,心尖部3/6级收缩期吹风样杂音,肝未及,脾肋下可及。化验:Hb96g/L,
保证合同生效后,()应该在合同规定的保证范围和保证期间承担保证责任。
Lookatthenotesbelow.Someinformationismissing.Youwillheartwopeoplediscusshowtosavearacecourse.Foreachquesti
最新回复
(
0
)