程序員數(shù)據(jù)結(jié)構(gòu)筆記(六)

字號(hào):

第六天(想起了兒時(shí)的《后一課》^_^)
    快考試了,老師沒有多說什么,他只是給我們講了講近三年試題情況,并詳細(xì)講述了兩道題目:一道遞歸,另一道回溯。不過今天不知怎么回事,我感覺特別累,也特別想睡覺。所以沒什么感覺。這里就不說了,兩道題目都有的,遞歸那題是2001年后一題,回溯是在《程序員教程》P416,老師說高程曾經(jīng)考過,有興趣自己看看也能看懂的。老師特意為我們出了一份下午試題,我現(xiàn)在把他拿出來讓大家參考參考。到這里,就到這里!
    程序員考試下午試題(模擬)
    一、把一個(gè)字符串插入到另一個(gè)字符串的某個(gè)位置(指元素個(gè)數(shù))之后
    char *insert(char *s,char *t,int position)
    { int i;
    char *target;
    if(position>strlen(t)) printf("error");
    else
    { for (i=0;i< (1) ;i++)
     { if (i    target[i]=s[i];
    else
    { if(i< (2) )
     target[i]=t[i];
     else (3) ;
    }
     }
    }
    return garget;
    }
    二、輾轉(zhuǎn)相除法求兩個(gè)正整數(shù)的大公約數(shù)
    int f(int a,int b)
    { if (a==b) (4) ;
    else
    { if (a>b) return f(a-b,b);
     else (5) ;
    }
    }
    三、求一個(gè)鏈表的所有元素的平均值
    typedef struct { int num;
    float ave;
    }Back;
    typedef struct node{ float data;
    struct node *next;
    } Node;
    Back *aveage(Node *head)
    { Back *p,*q;
    p=(Back *)malloc(sizeof(Back));
    if (head==NULL)
    { p->num=0;
     p->ave=0; }
    else
    { (6) ;
     p->num=q->num+1;
    ?。?) ; }
    retuen p;
    }
    main()
    { Node *h; Back *p;
    h=create(); /*建立以h為頭指針的鏈表*/
    if (h==NULL) printf("沒有元素");
    else { p=aveage(h);
     printf("鏈表元素的均值為:%6f",p->ave);
    }
    }