首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下函数说明和C语言函数,将应填入(n)处的语句写在对应栏内。 【函数2.1说明】 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 【函数2.1】 Fun1 (int n) { int i;
阅读以下函数说明和C语言函数,将应填入(n)处的语句写在对应栏内。 【函数2.1说明】 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 【函数2.1】 Fun1 (int n) { int i;
admin
2010-01-15
27
问题
阅读以下函数说明和C语言函数,将应填入(n)处的语句写在对应栏内。
【函数2.1说明】
将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
【函数2.1】
Fun1 (int n)
{
int i;
for(i=2;i<=n;i++)
{
while ((1))
{
if (n%i==0)
{
printf("%d*",i);
(2);
}
else
break;
}
}
printf("%d",\n);
}
【函数2.2说明】
下面程序的功能是:海滩上有一堆桃子,5只猴子来分。第1只猴子把这堆桃子平均分为5份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第2只猴子把剩下的桃子又平均分成5份,又多了一个,它同样把多的一个扔入海中,拿走了一份。第 3、4、5只猴子都是这样做的,问海滩上原来最少有多少个猴子?
【函数2.2】
main()
{
int i,m,j,k,count;
for(i=4;i<10000;i+=4)
{
count=0;
(3);
for(k=0;k<5;k++)
{
(4);
i=j;
if(j%4==0)
(5);
else
break;
}
i=m;
if(count==4)
{
printf("%d\n",count);
break;
}
}
}
选项
答案
(1)n!=i (2)n=n/i (3)m=i (4)j=i/4*5+1 (5)count++
解析
本题考查C语言中正整数分解质因数算法和猴子分桃算法的实现。
在程序2.1中,要求将一个正整数分解质因数。我们先来了解一下质因数的概念,一个自然数的因数中,为质数的因数叫做这个数的质因数。把一个合数,用质因数相乘的形式表示出来,叫做分解质因数。如90=2*3*3*5,其中2,3,5都是质数。在对数n进行分解质因数时,应先找到一个最小的质数i,然后按下述步骤完成:
(1)判断这个质数i是否等于n,如果相等,则说明分解质因数的过程已经结束,打印出结果即可。
(2)如果n≠i,但n能被i整除,则i是n的质因数,应打印出i的值,并用n除以 i的商,作为新的正整数n。
(3)如果n不能被i整除,则用i+1作为i的值,重复执行第(1)步。
通过代码我们已经知道了最小的质数为2,第(1)空是循环的判断条件,结合我们上面的分析,应该是判断质数i是否等于n,因此,此空答案为n!=i。
第(2)空在条件判断语句下,条件n%i==0成立,说明n能被i整除,根据分析,应打印出i的值,并用n除以i的商,作为新的正整数n。代码中已经实现了对i的输出,第(2)空的任务是用n除以i的商,作为新的正整数n,因此,答案为n=n/i。
在程序2.2中,要求我们求出原来海滩上的桃子数,这个数的特点是除以5余1,且减去它的商和余数后再除以5又余1,一直这样下去,直到最后一次。要求这样一个有特点的数,我们可以在一个较大的范围里编程去找具有这种性质的数。结合代码我们知道,程序设计是从4到10000这个范围里去找具有这种特征的数的基数。
第(3)空所在位置是第一层循环下面,应该是给变量赋初值阶段,结合后面的程序,可以发现m是用来临时存放当前求的基数乙因此,此空答案为m=i。
第(4)空在第二层循环下面,这个循环的作用是利用当前的基数i来求桃子数,那么求解的过程肯定是分桃过程的逆向过程。即此空的答案为i=i/4*5+1。
第(5)空在条件判断语句下面,如果条件成立,则执行此语句。我们接着看下面的程序,发现程序中有语句if(count==4),而在程序中一直没有出现变量count的值改变的语句,而它的初值是0,因此,此空肯定用来改变count的值的,再结合猴子分桃的特性,可以得到此空的答案为count++。
转载请注明原文地址:https://kaotiyun.com/show/PBjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
许多企业常把大量暂时不用的过期数据分类归档转存于(8)________________中。
数据采集工作的注意事项不包括()。
为在复写纸上打印三联单,宜用________打印机。
统计报表中常包括填表说明,以指导填表者填写。填表说明中一般不包括______。
在Word编辑状态下,有些英文单词或汉字下面会自动加上红色或绿色的波浪型细下划线。以下叙述中,“波浪型细下划线(44)”是错误的。
以下关于计算机网络协议的叙述中,不正确的是(58)________________。
某商场记录(统计)销售情况的数据库中,对每一种商品采用了国家统一的商品编码。这种做法的好处不包括(11)________________。
下面记录的是某班36人期末考试的数学成绩:971009596100879610089100936999891008188
在Excel中,为标识一个由单元格B3、B4、C3、C4、D4、D5、D6、D7组成的区域,下列选项中,正确的是______。
如果在网络设计过程中划分了很多VLAN,则可采用VTP来简化其管理。交换机管理IP地址只能创建在(1)中,而VTP信息只能在(2)端口上传播。共享相同VLAN数据库的交换机构成一个(3)。不同交换机平台、不同的IOS版本支持的VLAN数量不同,从图8-10
随机试题
至宝丹最适宜于哪种原因所致的窍闭神昏()(1994年第51题)
(2021年聊城莘县)练习是教学的一种基本方法,练习的种类很多,按学生掌握技能的进程分为()
以下哪项不是高原病的病因
图示均质链条传动机构的大齿轮以角速度ω转动,已知大齿轮半径为R,质量为m1,小齿轮半径为r,质量为m2,链条质量不计,则此系统的动量为()。
某现浇钢筋混凝土楼盖,主梁跨度为8.4m,次梁跨度为4.5m,次梁轴线间距为4.2m,下列施工缝留置方式正确的有()。
在生产过程中,不属于品质控制的内容是()
根据破产法律制度的规定,人民法院指定管理人名册中的个人作为管理人的企业破产案件应同时具备一定的条件,下列选项中,不属于该条件的是()。
在搜集临床资料时可能犯的错误不包括()。
抗日战争时期的“三三制”政权
设计若干测试数据,使得程序中每个判定表达式的每个分支都至少执行一次(真假分支均被满足一次)的覆盖方法被称为______。A)逻辑覆盖B)语句覆盖C)判定覆盖或分支覆盖D)条件覆盖
最新回复
(
0
)