算機軟件技術(shù)基礎(chǔ)(2)
要求:
一、 獨立完成,下面已將五組題目列出,請任選其中一組題目作答,每人只答一組題目,多答無效,滿分100分;
二、答題步驟:
1. 使用A4紙打印學院指定答題紙(答題紙請詳見附件);
2. 在答題紙上使用黑色水筆按題目要求手寫作答;答題紙上全部信息要求手寫,包括學號、姓名等基本信息和答題內(nèi)容,請寫明題型、題號;
三、提交方式:請將作答完成后的整頁答題紙以圖片形式依次粘貼在一個Word
文檔中上傳(只粘貼部分內(nèi)容的圖片不給分),圖片請保持正向、清晰;
1. 完成的作業(yè)應另存為保存類型是“Word97-2003”提交;
2. 上傳文件命名為“中心-學號-姓名-科目.doc”;
3. 文件容量大小:不得超過20MB。
提示:未按要求作答題目的作業(yè)及雷同作業(yè),成績以0分記!
題目如下:
第一組:
一、 程序編寫題(每小題25分,共100分)
(一)
在編寫的程序中,要求:
1)用fun函數(shù)完成:求n以內(nèi)(不包括n)能被3整除的所有自然數(shù)之和,并把結(jié)果作為函數(shù)值返回。
2) 在main函數(shù)中輸入一個自然數(shù),調(diào)用fun函數(shù),輸出fun函數(shù)返回的結(jié)果。
(二)
編程實現(xiàn)bubble()函數(shù),功能是:對12個整數(shù)進行冒泡排序(要求排成升序)。
(三)
編程實現(xiàn)ret()函數(shù),函數(shù)功能是:將一維數(shù)組a(有n個元素,且任何元素均
不為零)分拆為兩個數(shù)組b和c,使a中大于零的元素存放在b中,小于零的元素
存放在c中。
(四)
1. 編寫函數(shù)double fun (intn),它的功能是:計算并輸出下列級數(shù)和:s=1/1*2+1/2*3+…+1/n(n+1)
2. 請編寫函數(shù)void fun(char *s,char t[]),其功能是:將s所指字符串中除了下標
為偶數(shù)、同時ascii值也為偶數(shù)的字符外,其余的全都刪除;串中剩余字符所形成的一個新串放在t所指的一個數(shù)組中。
第二組:
一、程序編寫題(每小題25分,共100分)
(一)
請編寫函數(shù)int fun(char *str),該函數(shù)的功能是:判斷字符串是否為回文?若是則函數(shù)返回1,主函數(shù)中輸出yes,否則返回0,主函數(shù)中輸出no?;匚氖侵疙樧x和倒讀都是一樣的字符串。
(二)
1. 編寫函數(shù)int absolute (int x),它的功能是:計算并輸出x的絕對值
2. 編寫函數(shù)void fun(),它的功能是:計算并輸出1+1/2+1/3+……+1/n,n由鍵盤輸入
3. 編寫程序,計算并輸出X3+X5
4. 數(shù)學中,階乘函數(shù)的遞歸定義為:
若n=0, n!= 1;
若n>0, n!=n*(n-1)!;
編寫程序,計算并輸出n!
(三)
1. 編寫函數(shù)void fun(),其功能是計算并輸出100以內(nèi)的偶數(shù)之和
2. 編寫函數(shù)void fun(),它的功能是:計算并輸出100以內(nèi)的所有素數(shù)
3. 編寫程序,計算并輸出5!+6!
4. 編寫程序,計算并輸出(X3)2
(四)
1. 試用順序表作為存儲結(jié)構(gòu),實現(xiàn)將線性表(a0,a1,a2,?an-1)就地逆置的操作,所謂“就地”是指輔助空間為O(1)。
2. 設(shè)順序表L是一個遞增(允許有相同的值)有序表,試寫一算法將x插入L中,并使L仍為一個有序表。
第三組:
一、程序編寫題(每小題25分,共100分)
(一)
設(shè)A、B是兩個線性表,其表中元素遞增有序,長度分別為m和n。試寫一算法分別以順序存儲和鏈式存儲將A和B歸并成一個仍按元素值遞增有序的線性表C。
(二)
設(shè)指針la和lb分別指向兩個不帶頭結(jié)點的單鏈表的首結(jié)點,設(shè)計從表la中刪除第i個元素起共len個元素,并將這些元素插入到lb中第j個結(jié)點之前的算法。
(三)
給出用單鏈表存儲多項式的結(jié)構(gòu),并編寫一個按指數(shù)值遞增次序輸入所產(chǎn)生的多項式鏈表的過程
(四)
根據(jù)上題的單鏈表存儲多項式的結(jié)構(gòu),編寫一個過程實現(xiàn)兩個多項式相加的運算。
第四組:
一、 程序編寫題(每小題25分,共100分)
(一)
1. 試用順序表作為存儲結(jié)構(gòu),實現(xiàn)將線性表(a0,a1,a2,?an-1)就地逆置的操作,所謂“就地”是指輔助空間為O(1)。
2. 設(shè)順序表L是一個遞增(允許有相同的值)有序表,試寫一算法將x插入L中,并使L仍為一個有序表。
(二)
根據(jù)上題的單鏈表存儲多項式的結(jié)構(gòu),編寫一個過程實現(xiàn)兩個多項式相加的運算。
(三)
假設(shè)以兩個元素值遞增有序排列的線性表A、B分別表示兩個集合,要求另辟空間構(gòu)造一個線性表C,其元素為兩集合的交集,且表C中的元素值也遞增有序排列。用順序表實現(xiàn)并寫出C的算法。
(四)
己知A、B和C為三個遞增有序的線性表,現(xiàn)要求對A表進行如下操作:刪去那些既在B表中出現(xiàn)又在C表中出現(xiàn)的元素。試對順序表編寫實現(xiàn)上述操作的算法(注:題中未特別指明同一表中的元素值各不相同)。
第五組:
一、 程序編寫題(每小題25分,共100分)
(一)
編程實現(xiàn)ret()函數(shù),函數(shù)功能是:將一維數(shù)組a(有n個元素,且任何元素均不為零)分拆為兩個數(shù)組b和c,使a中大于零的元素存放在b中,小于零的元素存放在c中。
(二)
1. 編寫函數(shù)double fun (intn),它的功能是:計算并輸出下列級數(shù)和:s=1/1*2+1/2*3+…+1/n(n+1)
2. 請編寫函數(shù)void fun(char *s,char t[]),其功能是:將s所指字符串中除了下標為偶數(shù)、同時ascii值也為偶數(shù)的字符外,其余的全都刪除;串中剩余字符所形成的一個新串放在t所指的一個數(shù)組中。
(三)
設(shè)計一段程序:函數(shù)difference(A,B)用于求兩集合之差C=A-B,即當且僅當e是A中的一個元素,且不是B中的元素時,e是C中的一個元素。集合用有序鏈表實現(xiàn),用一個空鏈表表示一個空集合,表示非空集合的鏈表根據(jù)元素之值按遞增排列,執(zhí)行C=A-B之后,表示集合A和B的鏈表不變,若結(jié)果集合C非空,則表示它的鏈表應根據(jù)元素之值按遞增序排列。函數(shù)append()用于在鏈表中添加結(jié)點。
(四)
具有n個結(jié)點的完全二叉樹,已經(jīng)順序存儲在一維數(shù)組A[1..n]中,設(shè)計一個算法將A中順序存儲變?yōu)槎骀湵泶鎯Φ耐耆鏄洹?br/>