首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
用筛选法可得到2~n(n
用筛选法可得到2~n(n
admin
2016-10-29
37
问题
用筛选法可得到2~n(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非0数,并从数表中删去该数的所有倍数;依此类推,直到所找的下一个数等于n为止。这样会得到一个序列:
2,3,5,7,11,13,17,19,23,……
函数fun用筛选法找出所有小于等于n的素数,并统计素数的个数作为函数值返回。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKl.C巾。
不得增行或删行,也不得更改程序的结构!
#include
int fun(int n)
{ int a[10000],i,j,count=0;
for (2=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____==D)
i++;
}
printf("\nThe prime number
between 2 to%d\n",n);
for (2=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
解析
第一空:循环“for(j=a
*2;j<=n;j+=__1__)”中,循环变量j的初始值从a
的2倍开始,下一次进入循环j就是a
的3倍,第一空处是补充j的变化情况,而j每次都增加一个a
,即第一空处应为“a
”。
第二空:根据题意第二空处是从数表中找下一个非0数,即在循环中比较a
是否为,如果为0的话,i++指向后一个数表元素,故第二空处应为“a
”。
第三空:根据语句“{ count++;printf(count%15?”%5d":"\n%5",a
); }”可知在满足条件之后计数变量count自增,并且输出a
,可知a
是一个素数,由审题分析可知,经过筛选之后数表中非0的元素就是素数,故第三空处应为“0”,即a
不为0的话就是素数。
转载请注明原文地址:https://kaotiyun.com/show/IjDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
设有以下语句:charstrl[]="string",str2[8],*str,*str4="string";则______不是对库函数的正确调用。
设有如下程序段:intx=2002,y=2003;printf("%d\n",(x,y));则以下叙述中正确的是______。
fseek函数的正确调用形式是【】。
函数fun的返回值是【】。fun(char*a,char*b){intnum=0,n=0;while(*(a+num)!=’\0’)num++;while(b[n]){*(a+num)=b[n];num++
数据库系统其内部分为三级模式,即概念模式、内模式和外模式。其中,______是用户的数据视图,也就是用户所见到的数据模式。
下面程序的输出是______。main(){intx=3,y=6,a=0;while(x++!=(y-=1)){a+=1if
已知字母A的ASCII码值是65,字母a的ASCII码值是97,以下程序______。main(){chara=’A’;intb=20;pxintf("%d,%o",(a=a+a
以下程序的功能是进行位运算:main(){unsignedchara,b;a=7^3;b=~4&3;printf("%d%d\n",a,b);}程序运行后的输出结果是______。
函数fun的功能是计算xn:doublefun(doublex,intn){inti;doubley=1;for(i;=1;i<=n;i++)y=y*x;returny;}主函数中已
用筛选法可得到2~n(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非0数,并从数表中删去该数的所有倍数;依此类推,直到所找的下一个数等于n为止。这样会得到一个序
随机试题
毛细血管基底膜可形成钉状突起,见于
下列账户中,借方登记增加的有()。
A公司将一项专有技术转让给B公司,拟采用利润分成的方法,该专利系5年前从国外引入,账面成本180万元,三年间物价累计上涨为15%,该专有技术保护期为15年,已过了5年,尚可保护10年,经专业人员测算,该专有技术成本利润率达到250%。B公司购买该专有技术
公开披露基金信息的禁止行为,不包括()。
A公司为支付货款,向B公司签发一张由甲银行承兑的汇票。B公司取得汇票后,将汇票背书转让给C公司。C公司在汇票的背面记载“不得转让”字样后,将汇票背书转让给D公司。其后,D公司将汇票背书转让给E公司,但背书签章颠倒了位置,后E公司又将汇票背书转让给
下列有关资产税务处理的表述中,正确的有()。
下列有关无形资产会计核算的表述中,符合《企业会计准则--无形资产》规定的有()。
市场营销管理过程包括哪几个主要步骤?
Forgetmilkydrinks,hotwaterbottlesorcurlingupwithagoodbook.Therealsecrettoagoodnight’ssleepmaybewhereyou
PASSAGETHREEWhathasGedachtniskirchebeenremodeledtomark?
最新回复
(
0
)