2014年計(jì)算機(jī)軟考程序員筆試練習(xí)試題

字號(hào):

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