程序設計題目參考


             

題目一  運動會分數統計; 

任務:參加運動會有n個學校,學校編號爲1……n.比賽分成m個男子項目,w個女子項目.項目編號爲男子1......m,女子m+1......m+w.不同的項目取前五名或前三名積分;取前五名的積分分別爲:75321,前三名的積分分別爲:532;哪些取前五名或前三名由學生自己設定。(m<=20,n<=20) 

功能要求: 

1.可以輸入各個項目的前三名或前五名的學校; 

2.能統計各學校總分; 

3.可以按學校編號、學校總分、男女團體總分排序輸出; 

4.可以按學校編號查詢學校某個項目的情況;可以按項目編號查詢取得前三或前五名的學校。 

規定:輸入數據形式和範圍:20以內的整數(如果做得更好可以輸入學校的名稱,運動項目的名稱) 

輸出形式:有中文提示,各學校分數爲整形 

界面要求:有合理的提示,每個功能可以設立菜單,根據提示,可以完成相關的功能要求。 

存儲結構:學生自己根據系統功能要求自己設計,但是要求運動會的相關數據要存儲在數據文件中。 

 

題目二 校園導遊諮詢系統(至少包括10個景點); 

設計任務即要求: 

1、設計學校的校園平面圖,所含景點不少於10個。以圖中頂點表示校內個景點,存放景點名稱、代號、簡介等信息;以邊表示路徑,存放路徑長度等相關信息; 

2、爲來訪客人提供圖中任意景點相關信息的查詢; 

3、爲來訪客人提供圖中任意景點的問路查詢,即查詢任意兩個景點之間的一條最短的簡單路徑; 

 

題目三 .赫夫曼編碼問題

要求給定一個文本文件,統計其中字符的是用頻率,建立huffman樹,設計huffman 編碼與譯碼方案。

 

題目四 設計一元稀疏多項式簡單計數器

1) 輸入並建立多項式

2) 輸出多項式,輸出形式爲整數序列:nc1e1c2e2……cnen,其中n是多項式的項數,ciei分別爲第i項的係數和指數。序列按指數降序排列。

3) 多項式ab相加,建立多項式a+b,輸出相加的多項式。

4) 多項式ab相減,建立多項式a-b,輸出相減的多項式。

(5) 多項式ab乘,建立多項式a*b,輸出相減的多項式。

 

要求:用帶表頭結點的單鏈表存儲多項式。

設計思路:

首先,根據一元多項式的特點,定義描述多項式中每一項的數據類型;

定義一個一元多項式類:

其數據成員包括用來存儲一元多項式的一個鏈表;

該類的基本操作包括:

一元多項式的創建(用頭插法或尾插法創建鏈表)

一元多項式的遍歷(輸出,本質上是單鏈表的遍歷)

一元多項式的加法運算(對兩個單鏈表進行遍歷,在遍歷的過程中對指數相同的項目相加)

一元多項式的減法運算(對兩個單鏈表進行遍歷,在遍歷的過程中對指數相同的項目相減)

一元多項式的乘法運算

 

題目五 表達式求值與表示

基本功能要求:

1能對表達式中括號進行匹配檢查(即,簡單的語法檢查)

2計算中綴表達式的值

3)將中綴表達式轉換成後綴表達式,並對後綴表達式求值

4)建立表達式的抽象語法樹,並採用二叉鏈表的形式存儲這棵樹

 

題目六 狼羊白菜問題(設計算法,給出運送路線)

  問題:農夫帶着狼、羊、白菜從河的左岸到河的右岸,農夫每次只能帶一樣東西多河,而且,沒有農夫看管,狼會吃羊,羊會吃白菜。

提示:利用圖論解決問題。(用農夫、狼、羊、白菜及其在左岸還是右岸等表示圖中的頂點)

題目七 通訊網造價問題。

如果以無向網表示n個城市之間通信網絡的建設計劃,頂點表示城市,邊上的權表示該線路的造價,設計一個方案,使這個通訊網的總造價最低。

 

提示:這是一個求最小生成樹的問題。n個城市名和各邊的權值由用戶輸入,建立圖的鄰接矩陣,然後以Prim算法來求最小生成樹,然後輸出方案。

 

題目八 學生成績管理系統

現有學生成績信息文件11.txt),內容如下

姓名    學號   語文  數學   英語     

張明明  01     67    78      82

李成友  02     78    91      88

張輝燦  03     68    82      56

王露    04     56    45      77

陳東明  05     67    38      47

學生成績信息文件22.txt,內容如下:

姓名    學號   語文  數學   英語     

陳果    31     57    68      82

李華明  32     88    90      68

張明東  33     48    42      56

李明國  34     50    45      87

陳道亮  35     47    58      77

試編寫一管理系統,要求如下:

1) 實現對兩個文件數據進行合併,生成新文件3.txt

2) 抽取出三科成績中有補考的學生並保存在一個新文件4.txt

3) 對合並後的文件3.txt中的數據按總分降序排序(至少採用兩種排序方法實現)

4) 輸入一個學生姓名後,能查找到此學生的信息並輸出結果(至少採用兩種查找方法實現)

5) 要求使用結構體,鏈或數組等實現上述要求.

 

題目十 設計一個平衡二叉樹類, 

1)構造一棵平衡二叉樹

2)在平衡二叉樹中插入一個節點,使之仍然是一棵平衡二叉樹

3)在平衡二叉樹中刪除一個節點,使之仍然是一棵平衡二叉樹

4)從大到小輸出平衡二叉樹中所有關鍵字不小於X的數據元素

 

題目十一 迷宮問題問題:

設計任務:迷宮實驗是取自心理學的一個古典實驗。在該實驗中,把一隻老鼠從一個無頂大盒子的門放入,在盒中設置了許多牆,對行進方向形成了多處阻擋。盒子僅有一個出口,在出口處放置一塊奶酪,吸引老鼠在迷宮中尋找道路以到達出口。對同一只老鼠重複進行上述實驗,一直到老鼠從入口到出口,而不走錯一步。老鼠經多次試驗終於得到它學習走迷宮的路線。設計一個計算機程序對任意設定的迷宮,求出一條從入口到出口的通路,或得出沒有通路的結論。 

要求:在給出入口和出口的前提下,給出動態的迷宮行走路線。

 

題目十三  通訊錄管理系統

編寫一個通訊錄管理系統(通迅錄以文本文件的形式存放。)。本系統應完成一下幾方面的功能:

1) 輸入信息

2) 顯示信息
3) 查找以姓名作爲關鍵字
4) 刪除信息

5) 存盤(將數據寫入文件)

6) 裝入(將存放在文件中的數據讀到內存中);

題目十四 拓撲排序及關鍵路徑的計算

要求:分別採用鄰接矩陣和鄰接表實現圖的拓撲排序,並計算關鍵路徑

題目十四 公交站點的綜合查詢

要求:採用圖結構保存某市3條以上公交線路的站點數據,給出指定起點和終點的多條路徑及換乘方案,計算最短路徑,並實現模糊查詢。

題目十五 揹包問題的求解

假設有一個能裝入總體積爲T的揹包和n件體積分別爲w1 , w2 , … , wn 的物品,能否從n件物品中挑選若干件恰好裝滿揹包,即使w1 +w2 + … + wn=T,要求找出所有滿足上述條件的解。例如:當T=10,各件物品的體積{184352}時,可找到下列4組解:(1432

145

82

352)。

提示:可利用回溯法的設計思想來解決揹包問題。首先將物品排成一列,然後順序選取物品裝入揹包,假設已選取了前件物品之後揹包還沒有裝滿,則繼續選取第i+1件物品,若該件物品"太大"不能裝入,則棄之而繼續選取下一件,直至揹包裝滿爲止。但如果在剩餘的物品中找不到合適的物品以填滿揹包,則說明"剛剛"裝入揹包的那件物品"不合適",應將它取出"棄之一邊",繼續再從"它之後"的物品中選取,如此重複,直至求得滿足條件的解,或者無解。

由於回溯求解的規則是"後進先出"因此自然要用到棧。

 

題目十六  內部排序算法的性能分析

設計一個測試程序比較幾種內部排序算法的關鍵字比較次數和移動次數以取得直觀感受。

基本要求:

(1)對冒泡排序、直接排序、簡單選擇排序、快速排序、希爾排序、堆排序算法進行比較;

(2)待排序表的表長不小於100,表中數據隨機產生,至少用5組不同數據作比較,比較指標有:關鍵字參加比較次數和關鍵字的移動次數(關鍵字交換記爲3次移動);

(3)輸出比較結果。

(4)對不同表長進行比較;

(5)驗證各算法的穩定性

 

題目十七 實現有序集合

以單鏈表或雙鏈表表示集合,提供集合插入元素、刪除元素、比較相等、包含、並、交、差等運算

 

題目十八:樹

要求:設計樹類,採用孩子鏈表或孩子兄弟鏈表存儲,實現以下操作

以樹的廣義表表示構造一棵樹

樹的先根、後跟和層次次序對樹進行遍歷

插入、刪除操作

題目十九:以二叉排序樹表示集合

要求: 提供集合插入元素、刪除元素、比較相等、包含、並、交、差等運算

  

題目二十:程序規格化處理

要求:

1. 每行只有一行語句

2. 刪除註釋語句

3. 每個控制結構(循環和分支)都以“{”開始,以“}”結束(分別佔用1行)

4. 按鋸齒形縮進

題目二十一:程序中變量的識別

要求:對.cpp文件中聲明的變量及其類型(只限於基本的數據類型),並輸出結果。

   例如:程序中有聲明語句:int a,b,c; 則輸出 

a int

  b int

  c int 

題目二十二:哈希表的設計與實現   

  問題描述:   設計哈希表實現電話號碼查詢系統。   

  基本要求:   

1. 設每個記錄有下列數據項:電話號碼、用戶名、地址;   

2. 從鍵盤輸入各記錄,分別以電話號碼和用戶名爲關鍵字建立哈希表;   

3. 採用鏈地址法解決衝突;   

4. 查找並顯示給定電話號碼的記錄;   

5. 查找並顯示給定用戶名的記錄。   

 


 

發佈了36 篇原創文章 · 獲贊 52 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章