我要投稿
  • 您当前的位置:57365.com -> 试题中心 -> 计算机试题 -> 软件考试试题 -> 试题内容
  • [ 收藏本页试题 ]
  • 一九九七年度程序员级下午试题(1)

    试题作者:佚名    试题来源:不详    试题栏目:软件考试试题    收藏本页
    一九九七年度程序员级下午试题 
    试题一 
    阅读以下程序说明和C程序,将应填入__(n)__ 处的字句,写在答卷的对应栏内。 
    [程序说明] 
    本程序中的函数factor(m,fac,cp)用来计算正整m(m>2)的除自身以外的所有不同因子的和。该函数返回因子和,并把各因子从小到大依次存放在数组fac中,其因子个数存入在cp所指的变量中。 
    例如 m=16,求得的因子为 
    (1,2,4,8) 
    因子和为15,因子 个数为4。 
    程序假定正整数m的不同因子个数不会超过100个。 
    [程序] 
      
    # include <stdio.h> 
    # 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; 

    i++ 
    if(i>k)brdak; 

    for9c2++;c2<=N-1;c2++) 
    ____(4)____; 
    *cp=c1; 
    return____(5)____; 

      
    试题二 
    阅读以下程序说明和FORTRAN程序,将应填入__(n)__处的字句,写在答卷的对应栏内。 
    [程序说明] 
    函数FACTOR(M,FAC,L)用来计算正整数M(M>2)的除自身以外的所有不同因子之各,该函数值返回因子和,并把M的各因子从小到大依次存放在数组FAC中,其因子个数存放在L中。 
    例如:M=16 ,其因子之和为15(1+2+4+8),因子个数为4。本程序假定正整数M的因子个数不会超过100个。 
    [程序] 
      
    FUNCTION FACTOR(M,FAC,L) 
    INTEGER FAC(100),FACTOR,S,R 
    FAC(1)=1 
    L=1 
    R=100 
    S=1 
    ____(1)____ 
    K=M/I 

    IF(____(2)____)THEN 

    IF(____(3)____)THEN 

    L=L+1 

    FAC(L)=I 

    FAC(R)=K 

    R=R-1 

    S=S+1 

    FAC(L)=I 

    ENDIF 

    ENDIF 

    I=I+1 

    IF(I.LT.K)GOTO 10 

    DO 20 I=R+1,100 

    ____(4)____ 

    L=L+100-R 

    ____(5)____ 

    END 

      

    试题三 

    阅读以下程序说明和C程序,将应填入 __(n)__处的字句,写在答卷的对应栏内。 

    [程序说明] 

    本程序列举从整数0至n-1中任取r个整数的所有组合。设求得组合中的各数分别存储于数据组C的C0,C1……Cr-1中,并假定C0<C1<…<Cr-1,则Ci有性质Ci<n-r+i(o<i<r)。 

    如设n=5,r=3,则i<2+i(0<i<3)。由初始组合0,1,2开始,可心依次产生以下组合序列: 

    012,013,014,023,024,034,123,124,134,234 

    产生组合的方法是: 

    对上一组合C0,C1,…Cr-1,自右端开始递增的Ci&n
    我要投稿   -   广告合作   -   关于本站   -   友情连接   -   网站地图   -   联系我们   -   版权声明   -   设为首页   -   加入收藏   -   网站留言
    Copyright © 2009 - 20012 www.www.hxswjs.com All Rights Reserved.57365.com 版权所有