首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
用筛选法可得到2~n(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非0数,并从数表中删去该数的所有倍数;依此类推,直到所找的下一个数等于n为止。这样会得到一个序
用筛选法可得到2~n(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非0数,并从数表中删去该数的所有倍数;依此类推,直到所找的下一个数等于n为止。这样会得到一个序
admin
2019-07-10
28
问题
用筛选法可得到2~n(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非0数,并从数表中删去该数的所有倍数;依此类推,直到所找的下一个数等于n为止。这样会得到一个序列:
2,3,5,7,1 l,1 3,17,1 9,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++;print f(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 d",a
); }”可知在满足条件之后计数变量count自增,并且输出a
,可知a
是一个素数,由审题分析可知,经过筛选之后数表中非0的元素就是素数,故第三空处应为“0”,即a
不为0的话就是素数。
转载请注明原文地址:https://kaotiyun.com/show/opID777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
临近年底,部分二三线城市楼市调控也走到了一个微妙时点。业内人士认为,目前来看,一些二三线城市在限购政策落实方面“疲态”渐显,或试图放松限购令,或期待限购令自动到期作废。截至2013年年底,多个限购令将到期的城市未就限购令走向表态。根据上述文字推断,作者接下
中国宋代的文学鼎盛时期,也同样伴生着科学技术________的发展。但肩负着为人类寻找精神家园和情感归宿的文学总是让人们感觉如此之近。而尽管我们自始至终都在享受着科学的________,但有时为什么却感觉科学离我们如此之远。填入画横线部分最恰当的一项是(
下面四个单句,与例句的语法结构相同的是()。例:老师鼓励学生学好功课。
试举例说明风险分析和风险评估的不同方法。
“六礼”的正确顺序是()。
以下各选项中能正确声明一个表示50个值为null的字符串数组的是()。
下列叙述中,正确的是()。
下面的程序中,有两个文本框,Input和Output,用户在Input文本框中输入字符串后回车,字符串会在Output文本框中出现。importjava.awt.*;importjava.awt.event.*;publicclassjava
本题的功能是输出字符串:"hello!"和表达式:a/b=c,以及输出:\\whataniceday。publicclassjava1{publicstaticvoidmain(String[]args){System.out.p
随机试题
表皮损伤超过哪一层会形成瘢痕
男,48岁。左上腹部外伤3h,急诊留观时出现口渴、烦躁、左上腹疼痛加剧。体温39.1℃,复查血常规提示白细胞计数明显升高,下一步治疗应选择
A.印度尼西亚及马来西亚等地B.广东、广西等地C.索马里、埃塞俄比亚及阿拉伯半岛南部及印度等地D.云南、尼泊尔等地E.马来西亚、索马里等地没药土产于()
根据《城乡规划法》的规定,下列关于建设工程规划管理的主要程序内容的表述中,错误的是()
资金的融通一般有直接融资与间接融资两种,直接融资是资金供求双方直接进行资金融通的活动。下列各项中,属于直接融资工具的有()
转变作风、厉行节约,绝不是“吹吹风”或者“一阵风”,即便会在短期内______到一些行业,也必将更深入、更持久地______下去。填入划横线部分最恰当的一项是:
证明:当x≥0时,的最大值不超过.
Thetranslatormusthaveanexcellent,up-to-dateknowledgeofhissourcelanguages,full【C1】______inthehandlingofhistarget
阅读程序:FunctionFun(aAsInteger)StaticC b=0:b=b+2:c=c+2 F=a*b*cEndFunctionPrivateSubCommand1_Click(
以下程序的输出结果是()。#includemain(){inti,j,m=1;for(i=1;i<3;i++){for(j=3;j>0;j--){if(i*j>3)break;m*=i*j;}}printf(’’m=%d\n’’
最新回复
(
0
)