首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
用筛选法可得到2~n(n
用筛选法可得到2~n(n
admin
2015-12-22
98
问题
用筛选法可得到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全国计算机二级
相关试题推荐
以下程序的输出结果是【】。#defineMCNA(m)2*m#defineMCNB(n,m)2*MCRA(n)+m#definef(x)(x*x)main(){int
有以下程序:voidsum(int*a){a[0]=a[1];}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;for(i=2;i>=0;i--)sum(&aa[
有以下程序,其中函数的功能是将多个字符串按字典顺序排序:#include<string.h>voidf(char*p[],intn){char*t;inti,j;for(i=0;i<n-1;i++)for
已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是______。
为了使模块尽可能独立,要求
有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b,则不能把结点b连接到结点a之后的语句是【】。structnode{chardata;structnode*next;}a,b
长度为n的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为【】。
用筛选法可得到2~n(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非0数,并从数表中删去该数的所有倍数;依此类推,直到所找的下一个数等于n为止。这样会得到一个序
用筛选法可得到2~n(n
用筛选法可得到2~n(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非0数,并从数表中删去该数的所有倍数;依此类推,直到所找的下一个数等于n为止。这样会得到一个序
随机试题
使用祛风湿药如何选药和配伍?有哪些注意事项?
某男,30岁。因突发腹胀、腹痛伴恶心呕吐入院,诊断为急性化脓性腹膜炎。抗感染治疗应首选
施工期内市场价格波动超出一定幅度时,工程价款()。
必须由具有对外贸易经营权的企业对外签约对外加工业务并自行进行加工。()
加拿大硕士学位一般在荣誉学士的基础上再修()年才能获得。
固定资产的中小修理的特点包括()。
四点半钟后,时针和分针第一次成直线在什么时间?()
以下说法中正确的是( )。
WhenshefirstcametotheU.S.fromColumbia,shewashardlythediligentstudentshelatermadeherselfouttobe,sincesheh
Mostpeoplehavenoideaofthehardworkandworryaboutgoingintocollectionofthosefascinatingbirdsandanimalsthatthey
最新回复
(
0
)