首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。程序的功能是寻找1~500以内的亲和数并显示出来,函数amicableNum(int m,int n)判定两个数是否是亲和数。 亲和数的定义为:两个数
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。程序的功能是寻找1~500以内的亲和数并显示出来,函数amicableNum(int m,int n)判定两个数是否是亲和数。 亲和数的定义为:两个数
admin
2019-05-29
78
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。程序的功能是寻找1~500以内的亲和数并显示出来,函数amicableNum(int m,int n)判定两个数是否是亲和数。
亲和数的定义为:两个数m和11,如果n的所有因子之和(因子除掉自身)等于m,且m的所有因子等于n,则m、n是互为亲和数。
注意:不能修改程序的其他部分,只能补充amicableNum(int m,int n)函数。
1 #include<iostream.h>
2 int amicableNum(int n)
3 {
4 int sum=0;
5 for(int i=1;i<n;i++)
6 {
7 if(n%i==0)
8 {
9 sum+=i;
10 }
11 }
12 return sum;
13 }
14 bool amicableNum(int m,int n)
15 {
16
17 }
18 void main()
19 {
20 cout<<’’1~500以内的亲和数有:’’<<end1;
21 for(int i=1;i<500; i++)
22 {
23 for(int j=i+1;j500;j++)
24 {
25 if(i!=j)
26 {
27 if(amicableNum(i,j)==1)
28 {
29 cout<<i<<’’<<j<<end1;
30 }
31 }
32
33 }
34 }
35 return;
36 }
选项
答案
1 if(amicableNum(m)==n&&amicableNum(n)==m) 2 return 1; 3 return 0;
解析
函数amicableNum(int m,int n)判定两个数是否是亲和数,亲和数指两个数的因子(除去本身)和分别是对方,因此在判断亲和数时先求这两个数的因子和,然后比较便可知是否是亲和数。
(1)程序中定义了两个amicableNum()函数,由于参数个数不同重载了amicableNum()函数,函数amicableNum(int n)返回n的因子和,而函数amicableNum(int m,int n)则是判断m和n是不是亲和数,两个函数功能并不相同。
(2)在amicableNum(int m,int n)函数中,可调用amicableNum(int n)函数求m和n的因子和,然后比较两个因子和,如果两个因子和相同则返回真,否则返回假。
转载请注明原文地址:https://kaotiyun.com/show/pB8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
A、 B、 C、 D、 B在面向对象程序设计中,允许作用于某个对象上的操作称为方法,方法是对象的动态属性。对象间的通信靠消息传递。对象是属性和方法的封装体,可以从祖先中继承属性和方法,但不是任何对象都具有继承
A、 B、 C、 D、 B数据流图中带箭头的线段表示数据流,沿箭头方向传递数据的通道,一般在旁边标注数据流名。
A、 B、 C、 D、 Cfun()的第一个参数是传值调用,第二个是传址调用,故在函数中修改形参的值会被传回到实参中,故结果为0和2。
A、 B、 C、 D、 CC是传值调用,所以被调函数中形参值改变不会影响到实参,而且没有返回值,所以不会对调用函数产生影响。A是把引用作为函数参数,D是把指针作为函数参数,都属于传地址调用,改变形参均会影响参
A、 B、 C、 D、 C在数据字典编制过程中,常使用定义方式描述数据结构。
A、 B、 C、 D、 C根据对二叉树根的访问先后顺序不同,分别称为前序遍历、中序遍历和后序遍历。这3种遍历都是递归定义的,即在其子树中也按照同样的规律进行遍历。下面就是前序遍历方法的递归定义。当二叉树的根不
A、 B、 C、 D、 C所谓的算法的时间复杂度,是指执行算法所需要的工作量,可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。
下列程序的输出结果是______。#include<iostream>#include<cstring>usingnamespacestd;voidfun(constchar*S,char&C){e=
数据库管理员(DBA)是数据库系统的一个重要组成部分,有很多职责。以下选项不属于DBA职责的是()。
A、 B、 C、 D、 Dc++语言中析构函数为符号“~”加类名,且析构函数没有返回值和参数,故前不加void关键字。所以正确的形式应该是~Myclass()。
随机试题
糖尿病酮症酸中毒抢救治疗时,静脉输注胰岛素剂量应控制在
急性细菌性腹泻患者在社区处理应首选
泥浆性能包括()。
建设工程项目总承包在多数条件下采用的是( )。
下列不属于沟通通道障碍的是()。
商业银行为票据持有人贴现票据,是商业银行通过()未到期的商业票据,为持票人融通资金的行为。
下列操作中,()直接删除文件或文件夹而不送入回收站。
需要层次理论是()心理学在动机领域的体现,其代表人物是()。
下列有关法律权利和法律义务相互关系的表述中,哪种说法没有正确揭示这一关系?()
Comparisons were drawn between the development of television in the 20th century and the diffusion of printing in the 15th and 1
最新回复
(
0
)