[函数2.1说明]
函数int factors(int n)的功能是判断整数n(n>=2)是否为完全数。如果n是完全数,则函数返回0,否则返回-1。
所谓“完全数”是指整数n的所有因子(不包括n)之和等于n自身。例如:28的因子为1,2,4,7,14,而28=1+2+4+7+14,因此28是“完全数”。
[函数2.1]
int factors (int n)
int i/s;
for (i=1, s=0; i<=n/2;i++)
if (n%i==0) [ (1) ];
if([ (2) ]) return 0;
rerurn -1;
[函数2.2说明]
函数int maxint(int a[],int k)的功能是用递归方法求指定数组中前k个元素的最大值,并作为函数值返回。
[函数2.2]
int maxint (int a [] ,int k)
int t;
if([ (3) ]) return [ (4) ];
t = maxint (a+1, [ (5) ]) ;
return (a[0]>t) a[0]:t;
参考答案:k-1或--k
解析: 对于函数1,是判断整数n(n>=2)是否为完全数。首先用for循环求该整数的所有因子之和,所以空(1)填s+=i。若其和等于整数本身,则为完全数,返回值为0,则空(2)填n==s; 否则返回值为-1。
对于函数2,是用递归方法找出数组中的最大元素。该递归的出口条件为k=1,即空(3)填k=1或k-1=0; 只有一个数时,它本身就是最大的,空(4)填a[0]或*a或a[k-1]; 对于多个数的情况,在剩下的k-1个元素中找到最大的,并与首元素值比较,返回最大的一个,所以空(5)填k-1或--k。