2014年軟考程序員筆試考前練習(xí)試題(1)

字號:

為大家收集整理了《2014年軟考程序員筆試考前練習(xí)試題(1)》供大家參考,希望對大家有所幫助?。?!
    閱讀以下程序說明和C程序,將應(yīng)填入__(n)__ 處的字句,寫在答卷的對應(yīng)欄內(nèi)。
     [程序說明]
    本程序中的函數(shù)factor( m,fac,cp )用來計算正整 m ( m > 2 )的除自身以外的所有不同因子的和。該函數(shù)返回因子和,并把各因子從小到大依次存放在數(shù)組 fac 中,其因子個數(shù)存入在 cp 所指的變量中。
    例如 m=16,求得的因子為
    (1,2,4,8)
    提示:因子和為15,因子個數(shù)為4。
    程序假定正整數(shù) m 的不同因子個數(shù)不會超過100個。
     [程序]
     # include
     # define N 100
     long factor (int m,int fac[],int *cp)
     {
      int c1, c2 , i, k;
      long s;
     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 < k )
     4)3分 fac [ cl ++ ] = fac [ c2 ]
    答 cl ++ 給 1 分,‘ = ’左右只對一半給 1 分。
     5)3分 s /*懸浮300*250,創(chuàng)建于2010-10-21*/ var cpro_id = 'u249277';