熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> 數據結構 >> 正文

數據結構與算法概論復習習題[3]

2013-11-15 15:34:55  來源: 數據結構 
       判斷下列各對函數f(n)和g(n)當時n→∞哪個函數增長更快?

   試用數學歸納法證明

   試寫一算法自大至小依次輸出順序讀入的三個整數XY和Z的值

  解

  int max(int xint yint z)

  {

  if(x>y)

  if(x>z) return x;

  else return z;

  else

  if(y>z) return y;

  else return z;

  }

   已知k階斐波那契序列的定義為

  試編寫求k階斐波那契序列的第m項值的函數算法k和m均以值調用的形式在函數參數表中出現

  解k>為階數n為數列的第n項

  int Fibonacci(int kint n)

  {

  if(k<) exit(OVERFLOW);

  int *px;

  p=new int[k+];

  if(!p) exit(OVERFLOW);

  int ij;

  for(i=;i<k+;i++){

  if(i<k) p[i]=;

  else p[i]=;

  }

  for(i=k+;i<n+;i++){

  x=p[];

  for(j=;j<k;j++) p[j]=p[j+];

  p[k]=*p[k]x;

  }

  return p[k];

  }

   假設有ABCDE五個高等院校進行田徑對抗賽各院校的單項成績均已存入計算機並構成一張表表中每一行的形式為

項目名稱    性別     校名   成績    得分

編寫算法處理上述表格以統計各院校的男女總分和團體總分並輸出

  解

  typedef enum{ABCDE} SchoolName;

  typedef enum{FemaleMale} SexType;

  typedef struct{

  char event[];  //項目

  SexType sex;

  SchoolName school;

  int score;

  } Component;

  typedef struct{

  int MaleSum;//男團總分

  int FemaleSum;//女團總分

  int TotalSum;//團體總分

  } Sum;

  Sum SumScore(SchoolName snComponent a[]int n)

  {

  Sum temp;

  tempMaleSum=;

  tempFemaleSum=;

  tempTotalSum=;

  int i;

  for(i=;i<n;i++){

  if(a[i]school==sn){

  if(a[i]sex==Male) tempMaleSum+=a[i]score;

  if(a[i]sex==Female) tempFemaleSum+=a[i]score;

  }

  }

  tempTotalSum=tempMaleSum+tempFemaleSum;

  return temp;

  }

[]  []  []  


From:http://tw.wingwit.com/Article/program/sjjg/201311/23632.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.