廠工資料結構Anyview(C語言版)第一章答案

2021-10-16 16:52:45 字數 3402 閱讀 4202

【題目】試寫一演算法,如果三個整數a,b和c的值不是依次非遞增的,則通過交換,令其為非遞增。

要求實現下列函式:

void descend(int &a, int &b, int &c);

/* 通過交換,令 a >= b >= c */

#include

"allinclude.h"

//do not edit this line

void

descend

(int

&a,int

&b,int

&c)}

if(max==b)

else}if

(max==c)

else

}}

【題目】試編寫演算法求一元多項式 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 */

#include

"allinclude.h"

//do not edit this line

float

polynomial

(int n,

int a,

float x0)

return a[0]

+p;}

【題目】已知k階裴波那契序列的定義為f(0)=0, f(1)=0, …, f(k-2)=0, f(k-1)=1; f(n)=f(n-1)+f(n-2)+…+f(n-k), n=k,k+1,… 試編寫求k階裴波那契序列的第m項值的函式演算法,k和m均以值呼叫的形式在函式引數表**現。

要求實現下列函式:

status fibonacci(int k, int m, int &f);

/* 如果能求得k階斐波那契序列的第m項的值f,則返回ok;/

/ 否則(比如,引數k和m不合理)返回error */

#include

"allinclude.h"

//do not edit this line

status fibonacci

(int k,

int m,

int&f)

f = a[m];}

}return ok;

}

【題目】試編寫演算法,計算i!×2^i的值並存入陣列a[0…n-1]的第i-1個分量中 (i=1,2,…,n)。假設計算機中允許的整數最大值為maxint,則當對某個k(1≤k≤n)使k!×2^k>maxint時,應按出錯處理。注意選擇你認為較好的出錯處理方法。

要求實現下列函式:

status series(int a, int n);

/* 求i!*2^i序列的值並依次存入長度為n的陣列a;若所有 /

/ 值均不超過maxint,則返回ok,否則返回eoverflow */

#include

"allinclude.h"

//do not edit this line

status series

(int a,

int n)

return ok;

}

【題目】試寫一演算法,由長度為n的一維陣列a構建乙個序列s。

要求實現下列函式:

status createsequence(sequence &s, int n, elemtype a);

/ 由長度為n的一維陣列a構建乙個序列s,並返回ok。 /

/ 若構建失敗,則返回error */

序列的定義為:

typedef struct sequence;

#include

"allinclude.h"

//do not edit this line

status createsequence

(sequence &s,

int n, elemtype *a)

【題目】鍊錶的結點和指標型別定義如下

typedef struct lnode lnode, *linklist;

試寫一函式,構建乙個值為x的結點。

要求實現下列函式:

linklist makenode(elemtype x);

/* 構建乙個值為x的結點,並返回其指標。 /

/ 若構建失敗,則返回null。 */

#include

"allinclude.h"

//do not edit this line

linklist makenode

(elemtype x)

【題目】鍊錶的結點和指標型別定義如下

typedef struct lnode lnode, *linklist;

試寫一函式,構建長度為2且兩個結點的值依次為x和y的鍊錶。

要求實現下列函式:

linklist createlinklist(elemtype x, elemtype y);

/* 構建其兩個結點的值依次為x和y的鍊錶。/

/ 若構建失敗,則返回null。 */

#include

"allinclude.h"

//do not edit this line

linklist createlinklist

(elemtype x, elemtype y)

【題目】鍊錶的結點和指標型別定義如下

typedef struct lnode lnode, *linklist;

試寫一函式,構建長度為2的公升序鍊錶,兩個結點的值

分別為x和y,但應小的在前,大的在後。

要求實現下列函式:

linklist createordllist(elemtype x, elemtype y);

/* 構建長度為2的公升序鍊錶。 /

/ 若構建失敗,則返回null。 */

#include

"allinclude.h"

//do not edit this line

linklist createordllist

(elemtype x, elemtype y)

p1->data = x;

p1->next = p2;

p2->data = y;

p2->next =

null

;return p1;

}

廣工 AnyviewC 資料結構習題 第五章

g m,n 0 當m 0,n 0 g m,n g m 1,2n n 當m 0,n 0intg int m,int n 如果 m 0 或 n 0 則返回 1 f n n 1 當n 0 f n nf n 2 當n 0intf int n 如果 n 0 則返回 1 sqrt a,p,e p 當 pp a ...

廣工資料結構第五單元

題目 假設以二維陣列g 1 m 1 n 表示乙個影象 區域,g i j 表示該區域中點 i,j 所具顏色,其值 為從0到k的整數。試編寫遞迴演算法,將點 i0,j0 所在 區域的顏色置換為顏色c。約定與 i0,j0 同色的上 下 左 右的鄰接點為同色區域的點。表示影象區域的型別定義如下 typede...

資料結構 資料結構緒論

資料結構是相互間存在一種或多種特定關係的資料元素的集合。程式設計 資料結構 演算法 資料結構是一門研究非數值計算的程式設計問題中的操作物件,以及他們之間的關係和操作等相關問題的學科。資料元素是組成資料的 有一定意義的基本單位,是計算機中通常作為整體處理,也被稱為記錄。乙個資料元素可以由若干個資料項組...