- 7
- 0
- 约1.2千字
- 约 5页
- 2021-12-08 发布于云南
- 举报
程序员软件水平考试笔试例题和答案
阅读以下程序说明和C程序,将应填入__(n)__处的字句,写在答卷的对应栏内。
[程序说明]
本程序中的函数factor(m,fac,cp)用来计算正整m(m2)的除自身以外的所有不同因子的和。该函数返回因子和,并把各因子从小到大依次存放在数组fac中,其因子个数存入在cp所指的变量中。
例如m=16,求得的因子为
(1,2,4,8)
提示:因子和为15,因子个数为4。
程序假定正整数m的不同因子个数不会超过100个。
[程序]
#include
#defineN100
longfactor(intm,intfac[],int*cp)
{
intc1,c2,i,k;
longs;
fac[0]=1;
for(c1=s=1,c2=N-1,____(1)____;;)
{
k=m/i;
if(____(2)____)
if(____(3)____)
{fac[c1++]=i;
fac[c2--]=k;
s+=i+k;
}
else{
fac[c1++]=i;
s+=i;
}
i++;
if(i=k)brdak;
}
for(c2++;c2=N-1;c2++)
____(4)____;
*cp=c1;
return____(5)____;
答案:
1)3分i=2,或cl+1
2)3分m%i==0(或!(m%i)或m==i*k)
3)3分i!=k(或i
原创力文档

文档评论(0)