首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
用筛选法可得到2~n(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非O数,并从数表中删去该数的所有倍数;依此类推,直到所找的下一个数等于n为止。这样会得到一个序
用筛选法可得到2~n(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非O数,并从数表中删去该数的所有倍数;依此类推,直到所找的下一个数等于n为止。这样会得到一个序
admin
2019-09-02
54
问题
用筛选法可得到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全国计算机二级
相关试题推荐
给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),作为函数值返回;并将大于平均值的数放在形参y所指数组中,在主函数中输出。例如,有10个正数:4630324061745154
给定程序MODI1.C中fun函数的功能是:将P所指字符串中每个单词的最后一个字母改成大写。(这里的“单词”是指由空格隔开的字符串)。例如,若输入"Iamastudenttotaketheexamination.",
请编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k传回。例如,若输入:17,则应输出:46891012141516。注意:部分源程序在文件PROG1.C中。请勿改动
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。注意:部分源程序在文件PROG1:
以下选项中不合法的标识符是
有以下程序#includemain(){inta=1,b=0;printf("%d,",b=a+B)printf("%d\n",a=2*B)}程序运行后的输出结果是
有三个关系R、S和T如下: 则由关系R和S得到关系T的操作是
以下正确使用C语言标识符的是()。
下列选项中不属于软件生命周期开发阶段任务的是
随机试题
2010年10月2日午夜,A市某区公安人员在辖区内巡逻时,发现路边停靠的一辆轿车内坐着三个年轻人(朱某、尤某、何某)行迹可疑,即上前盘查。经查,在该车后备箱中发现盗窃机动车工具,遂将三人带回区公安分局进一步审查。案件侦查终结后,区检察院向区法院提起公诉。(
集装箱
建设项目的()必须对建设项目产生的污染和对环境的影响作出评价,规定防治措施,经项目主管部门预审并依照规定的程序报环境保护行政主管部门批准。
经清洗干净并包装密封的风管及部件,安装前( ),如安装中间停顿,应将端口重新封好。
公共物品的供给包含的两层含义有()。
甲公司2016年营业收入1000万元,变动成本率60%,固定成本200万元,利息费用40万元。假设不存在资本化利息且不考虑其他因素,该企业联合杠杆系数是()。
无论发生什么经济业务,会计等式始终保持平衡关系。()
对匀变速直线运动而言,下列说法正确的是()。
下列小说属于鲁迅作品的有()。
Everyonelivinginthissocietyshouldcommunicatewitheachother.Theygetwhattheywantbybuyingandsellwhattheydon’tw
最新回复
(
0
)