◆1.16② 試寫一演算法,如果三個整數x,y和z
的值不是依次非遞增的,則通過交換,令其為
非遞增。
要求實現下列函式:
void descend(int &x, int &y, int &z);
/* 按從大到小順序返回x,y和z的值 */
void descend(int &x, int &y, int &z)
/* 按從大到小順序返回x,y和z的值 */
1.17③ 已知k階裴波那契序列的定義為
f0=0, f1=0, ..., fk-2=0, fk-1=1;
fn=fn-1+fn-2+...+fn-k, n=k,k+1,...
試編寫求k階裴波那契序列的第m項值的函式演算法,
k和m均以值呼叫的形式在函式引數表中出現。
要求實現下列函式:
status fibonacci(int k, int m, int &f);
/* 如果能求得k階斐波那契序列的第m項的值f,則返回ok;*/
/* 否則(比如,引數k和m不合理)返回error
status fibonacci(int k, int m, int &f)
/* 求k階斐波那契序列的第m項的值f */
if(m if(m==k-1)
//初始化表
tmpresults=(int *)malloc(k*sizeof(int));
while(tmpmtmpresults+tmpm)=0;
tmpm++;
}//while
*(tmpresults+tmpm)=1;
tmpm=k;
//初始化結束
doif(curpos==k)curpos=1;
else curpos++;
tmpresults+curpos-1)=f;
}while(tmpm++ free(tmpresults);
return ok;
}1.18③ 假設有a、b、c、d、e五個高等院校進行田徑對抗賽,
各院校的單項成績均以存入計算機並構成一張表,表中每一
行的形式為
專案名稱性別校名成績得分
編寫演算法,處理上述**,以統計各院校的男、女總分和團
體總分,並輸出。
要求實現下列函式:
void scores(resulttype *result, scoretype *score);
/* 求各校的男、女總分和團體總分, 並依次存入陣列score */
/* 假設比賽結果已經儲存在result[ ]陣列中
/* 並以特殊記錄 (域scorce=0)*/
/* 表示結束
相關資料型別定義如下:
typedef enum ***;
typedef struct resulttype;
typedef struct scoretype;
void scores(resulttype *result, scoretype *score)
/* 求各校的男、女總分和團體總分, 並依次存入陣列score */
/* 假設比賽結果已經儲存在result[ ]陣列中
/* 並以特殊記錄 (域scorce=0)*/
/* 表示結束
i++;
} }
}◆1.19④ 試編寫演算法,計算i!×2^i的值並存入陣列
a[0..arrsize-1]的第i-1個分量中 (i=1,2,…,n)。
假設計算機中允許的整數最大值為maxint,則當n>
arrsize或對某個k(1≤k≤n)使k!×2^k>maxint時,應
按出錯處理。注意選擇你認為較好的出錯處理方法。
要求實現下列函式:
status series(int arrsize, int a);
/* 求i!*2^i序列的值並依次存入長度為arrsize的陣列a; */
/* 若所有值均不超過maxint,則返回ok,否則返回overflow */
status series(int arrsize, int a)
/* 求i!*2^i序列的值並依次存入長度為arrsize的陣列a; */
/* 若所有值均不超過maxint,則返回ok,否則返回overflow */
if((n1*n2)>maxint)
return overflow;
a[i-1]=n1*n2;
i++;
}if(i>arrsize+1)
return overflow;
else
return ok;
}◆1.20④ 試編寫演算法求一元多項式
p(x) = a0 + a1x + a2x^2 + ... + anx^n
的值p(x0),並確定演算法中每一語句的執行次數和整個演算法
的時間複雜度。注意選擇你認為較好的輸入和輸出方法。
要求實現下列函式:
float polynomial(int n, int a, float x0);
/* 求一元多項式的值p(x0
/* 陣列a的元素a[i]為i次項的係數,i=0,1,...,n */
float polynomial(int n, int a, float x)
資料結構作業系統答案
2.11 設順序表l中的資料元素遞增有序。試寫一演算法,將x插入到l的適當位置上,並保 持該表的有序性。要求實現下列函式 void insertorderlist sqlist l,elemtype x 在有序的順序表 l 中保序插入資料元素 x 順序表型別定義如下 typedef struct s...
資料結構第一章習題
第一章習題 一 單項選擇題1.資料結構是一門研究非數值計算的程式設計問題中計算機的 以及它們之間的 和運算等的學科。a 操作物件 b 計算方法 c 邏輯儲存 d 資料映象 a 結構 b 關係 c 運算 d 演算法2.演算法分析的目的是 演算法分析的兩個主要方面是 a 找出資料結構的合理性 b 研究演...
第一章資料結構概念
1 集合結構 2 線性結構 3 樹形結構 4 圖狀結構 或網狀結構 資料結構的數學定義 資料結構是乙個二元組 data structure d,s 其中 d是資料元素的有限集 s是d上關係的有限集 與資料結構密切相關的是定義在資料結構上的一組操作,操作的種類和數目不同即使邏輯結構相同,這個資料結構的...