a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 64|回复: 0

[程序员] 软件水平考试辅导程序员笔试考前练习1

[复制链接]
发表于 2012-8-2 08:51:15 | 显示全部楼层 |阅读模式
软件水平考试辅导程序员笔试考前练习1
' p9 S8 r, h* Y+ f% f" y阅读以下程序说明和C程序,将应填入__(n)__ 处的字句,写在答卷的对应栏内。% d6 Q3 K/ N6 ~, Q& x# |
  [程序说明]
5 D: o! ]/ B' E& {/ j  本程序中的函数factor( m,fac,cp )用来计算正整 m ( m 》 2 )的除自身以外的所有不同因子的和。该函数返回因子和,并把各因子从小到大依次存放在数组 fac 中,其因子个数存入在 cp 所指的变量中。& w0 }* z# c6 I) U4 j! I
  例如 m=16,求得的因子为
+ _9 k# E* i: x, C  (1,2,4,8)/ K5 f3 ~4 K: s* P6 V+ `8 E
  提示:因子和为15,因子个数为4。
" v5 I& d! E8 ~( d, S7 P$ n  程序假定正整数 m 的不同因子个数不会超过100个。0 Y/ c5 d. R. w
  [程序]& m9 ?2 D: l/ k8 B
  # include6 J0 R( M- }3 Y4 P, x
  # define N 100
) J6 a' _; L+ s' I+ D! P# ]  long factor (int m,int fac[],int *cp)
/ u+ k2 j, _( G  {4 B- z# n. ?( R7 U" l9 t' e
  int c1, c2 , i, k;
- D7 t9 F2 y% a. u% @$ u  long s;& v6 Q3 j$ T8 T8 t
  fac[0] = 1;7 [( h) E  |! W
  for(c1 = s = 1,c2 = N-1,____(1)____;;)( B' N0 D% s9 I% w1 V% ^2 C
  {% a. n. n0 X6 X
  k = m/i;+ J2 f9 B! L$ P0 E
  if (____(2)____)6 O! Z6 w0 c( [8 k
  if (____(3)____)8 r& u+ T8 R7 P2 r& ]
  { fac[c1++] = i;
' Q$ E. r* d% A/ a' U$ T! j  fac[c2--] = k;8 g0 \; }! s+ i! N) D
  s + = i+k;
6 Z8 [8 _% F" J7 r  o$ z  }+ f/ Z* x# \) ^/ X: O9 x0 `
  else {; D% i% H$ Q! p5 R+ `% u6 V" R5 h
  fac[c1++] = i;* J6 q/ ?+ Y9 j
  s + = i;
- S) v  l! |8 I  }
" T) [( b, ~. Y5 Q! E; i+ K  i++;9 K. c$ A6 i7 |! o$ Y
  if(i》=k) brdak;
; x: c6 W( M, l6 s' B  }9 Y1 v* D8 j6 |* c
  for (c2++;c2 《= N-1;c2++)
+ J7 `% D8 j  _/ C: n& S9 X6 W( q  ____(4)____;, w7 E, a: y0 b6 w) ^
  *cp=c1;
+ L- n* ^; Q- o. n2 c4 G* e  return ____(5)____;
+ D$ s# u" @+ N$ S  |  答案:
! [9 _' C8 @  D* z! ^' M  1)3分 i = 2,或 cl + 1- r! ~% F4 R+ ?: ~% }# \" L. A; W7 D
  2)3分 m % i == 0 (或 !(m % i) 或 m == i * k )
7 q2 q( e, m3 A) D  3)3分 i ! = k (或 i 《 k )
$ a) B$ K. w! r- ^+ O  4)3分 fac [ cl ++ ] = fac [ c2 ]
7 f/ V. ~& V% ]( m! E, I  答 cl ++ 给 1 分,‘ = ’左右只对一半给 1 分。
) T* \- A5 Q- G4 X) k9 D  5)3分 s
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-6-9 10:19 , Processed in 0.235268 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表