首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
用筛选法可得到2~n(n
用筛选法可得到2~n(n
admin
2016-10-29
68
问题
用筛选法可得到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://www.kaotiyun.com/show/IjDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序的输出结果是______。#include<stdio.h>voidprt(int*x,int*y,int*z){printf("%d,%d,%d\n",++*x,++*y,*(z++));}
以下程序输出的结果为______。main(){char*alpha[6]={"ABCD","EFGH","IJKL","MNOP","QRST","UVWX"};char**p;
以下程序的输出结果是______。inta,b;voidfun(){a=100;b=200;}main(){inta=5,b=7;fun()
以下程序的输出结果是______。intf(){staticinti=0;ints=1;s+=i;i++;returns;}main(){inti
下列程序的输出结果是【】。main(){inti;for(i=1;i+1;i++){if(i>4){printf("%d\n",i);break;}
设有下列定义:structsk{intm;floatx;}data,*q;若要使q指向data中的m域,正确的赋值语句是()。
字符(char)型数据在微机内存中的存储形式是______。
在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是______。
SQL语言又称为______。
用筛选法可得到2~n(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非0数,并从数表中删去该数的所有倍数;依此类推,直到所找的下一个数等于n为止。这样会得到一个序
随机试题
司法机关对乡、镇人大代表采用取保候审,需事先取得该级人民代表大会许可。
Justletitgo______youdon’twanttobeinvolvedinanyargument.
金黄色葡萄球菌感染常可引起
物体作定轴转动的转动方程为φ=4t一3t2(φ以rad计,t以s计)。此物体内,转动半径r=0.5m的一点,在t0=0时的速度和法向加速度的大小为()。
已知年利率12%,每月复利计息一次,则季实际利率为()。
单位为了提高工作效率,要你组织一个“强责任,提警力”的主题思想教育活动,有老同志认为这种活动是形式主义,非常不支持,对此你将如何与他沟通?请把主考官当作是这个同志,进行一下现场模拟。
以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和,请填空。#include<stdio,h>main()inti,a[20],sum,count;
What’sKategoodat?
OneofthecontributionsofTheodoreRooseveltaspresidentwas______.
Forauthorsofself-helpguides,nohumanproblemistoogreatortoosmall.Wanttobecomefitter,richerorhappierin2015?T
最新回复
(
0
)