首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
用筛选法可得到2~n(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非O数,并从数表中删去该数的所有倍数;依此类推,直到所找的下一个数等于n为止。这样会得到一个序
用筛选法可得到2~n(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非O数,并从数表中删去该数的所有倍数;依此类推,直到所找的下一个数等于n为止。这样会得到一个序
admin
2019-09-02
92
问题
用筛选法可得到2~n(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非O数,并从数表中删去该数的所有倍数;依此类推,直到所找的下一个数等于n为止。这样会得到一个序列:
2,3,5,7,11,13,17,19,23,……
函数fun用筛选法找出所有小于等于n的素数,并统计素数的个数作为函数值返回。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
int fun(int n)
{ int a[10000],i,j,count=0;
for (i=2; i<=n; i++) a
=i;
i=2;
while(i<n){
/**********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++;printf(count%15?"%5d":"\n%5d",a
);)”可知在满足条件之后计数变量oaunt自增,并且输出a
,可知a
是一个素数,由审题分析可知,经过筛选之后数表中非0的元素就是素数,故第三空处应为“0”,即a
不为0的话就是素数。
转载请注明原文地址:https://kaotiyun.com/show/BORp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
按照C语言规定的用户标识符命名规则,不能出现在标识符中的是
有以下程序voidfun(char*S){chara[10];strepy(a,"STRING");S=a;}main(){char*p="PROGRAM";fun(P);一printf("%s\n,p);}.程序运行后的输出
有以下程序main(){inta=1,b=2,c=3,x;x=(a^b)&c;’printf("%d\n",x);}程序的运行结果是
设有如下的说明和定义struct{inta;char*s;)x,*p=&x;x.a=4;x.s=hello";则以下叙述中正确的是
在嵌套使用if语句时,C语言规定else总是
若以下选项中变量全部为整型变量,且己正确定义并赋值,则语法正确的switch语句是
有三个关系R、S和T如下: 则由关系R和S得到关系T的操作是
在学生管理的关系数据库中,存取一个学生信息的数据单位是
有下列程序:#includevoidfun(int*a,intn)/*fun函数的功能是将a所指数组元素从大到小排序*/{intt,i,j;for(i=0;i<n-1;j++)for(j=i+1;j<n;j++)if(a[
关于C语言标识符,以下叙述错误的是()。
随机试题
行车中遇醉酒的行人时,应_________。
以下哪一项属于支气管扩张的典型影像改变
【背景资料】某污水厂升级改造工程,由活性炭滤池、臭氧深度处理池和泵房等构筑物组成,承包单位以6500万元中标。施工基坑围护结构为灌注桩,基底标高为一6.50m(地面标高为±0.00),基底以粉砂土层、砂卵石层为主,渗透系数较大(20~200m/d),且北
各单位应定期将会计账簿记录与相应的会计凭证记录逐笔核对,检查以下内容是否一致()。
该投资项目每年的投资回收率为()。该投资项目的净现值为()万元。
甲商业银行2014年第3季度取得贷款利息收入5000万元,利息支出1000万元,另取得加息和罚息收入200万元。已知金融业适用的营业税税率为5%,甲商业银行就上述业务应当缴纳的营业税为()万元。
阅读材料,根据要求完成任务。材料一《义务教育化学课程标准(2011年版)》关于“溶解度”的内容标准为“了解饱和溶液和溶解度的含义”。材料二桌版本教科书中有关溶解度的内容如下:二、溶解度通过上述实验,我们大致可
公安机关治安行政处置中的命令,是指公安机关为了维护社会治安秩序和公共安全,依法向负有特定义务的人发出的作为、不作为和约束的指令,这种命令又称“警察命令”。()
南征北战:东讨西伐
正式结束美国奴隶制的是1863年的《解放黑奴宣言》和1865年的()。
最新回复
(
0
)