2011 年 數據結構和程序設計
-
設線性表 L 以順序存儲結構存儲,請編程實現在表 L 中的第 i 個元素前插入一個新的數據元素 e。 (1 <= i <= n+1)(10分)
-
在存儲一組遞增的整形數的單鏈表中,要求刪除所有元素 x (min < x < max)。請編程實現。
-
編程實現,求二叉樹的葉節點個數。(10分)
-
設有一個帶頭節點的單鏈表,請編程實現,若表不為空,將一新的值為 K 的節點插入到該單鏈表結尾之前(作尾節點的直接前驅),否則,新街點做表尾節點。(15分)
-
設有兩個動態實現的順序表 L1, L2 各存儲遞增有序的一組整形數。現要求將 L2 合並到 L1 ,且合並后的 L1 仍然保持遞增有序。請編程實現。(15分)
2012 年
-
輸入一個合理的年、月、日,計算日期距離 1970.1.1 的天數(20分)
-
編寫程序實現大整數的加法和減法運算。(25分)(大整數為 40 到 100 位之間的十進制數)
-
輸出所有同時符合下列條件的整數(15分)
- 該數是4位整數;
- 該數是完全平方根;
- 該數減去 1111 后,結果仍是一個完全平方數。
(完全平方是一個整數,它數另一個數的平方,例如 15、36 等)
-
輸入 M 個字符串,輸出重復 1 到 M 次 的字符串的個數、(25分)
例如:輸入 BBA BBA BEA DEC CCF
輸出 1 3; 2 1; 3 0; 4 0; 5 0
表示重復次數一次的字符串有 3 個,重復兩次的字符串有 1 個,重復三次、四次、五次的字符串有 0 個。 -
編寫程序求斐波那契額數列的前 40 項之和。要求用遞歸函數實現計算斐波那契額數列的第某項的值。(15分)
(斐波那契額數列的第一項和第二項為 1,其余每項都等於前兩項之和) -
編寫函數實現利用鏈表對 20 個單詞降序排列。(25分)
-
打開帶有注視的 C 語言源程序文件,顯示過濾掉注釋后的文件內容。(25分)
注釋有兩種方式: ”//“ 和 “ /* ” 開始 “ */ ” 結束
2013 年
-
輸入一個字符串,分別統計並輸出其中大寫字母的個數、小寫字母的個數、數字字符的個數和其他字符的個數。(15分)
-
輸入 10 個整數,對這組數進行由小到大排序,輸出排序結果並統計其中交換的次數。(20分)
-
輸出 100 - 200 之內所有素數。要求:利用自定義函數識別一個數是否為素數(溫馨提示:素數是指能被 1 和自身整除的數)(20分)
-
已知有兩個整數鏈表(兩個鏈表都是無序鏈表),完成鏈表的合並,保證合並后的鏈表升序排列(25分)
-
從鍵盤輸入 20 個學生信息(學號、姓名、年齡、身高、體重),計算全部學生的平均身高和體重,並統計輸出平均體重以上的學生的人數,以及這些學生的學號、姓名、年齡、體重等信息。(25分)
-
實現兩個 5*5 矩陣的加分、減法和乘法。(25分)
-
實現從磁盤文件 “d:\stu.dat” 中讀出全部學生信息(學號、姓名、性別、成績),分別統計高於平均成績和低於平均成績的人數,並將結果寫入到 “d:\Result.dat” 文件中。(20分)
2014 年
-
利用遞歸算法求兩個整數的最小公倍數。(20分)
-
輸入一元二次方程的三個系數 a, b, c 輸出該方程的根。需要考慮 delta < 0 的情況。
-
用字符串數組(數組長度為20)表示大整數,完成兩個大整數的加、減法計算。(25分)
-
輸入 5*5 的矩陣 A, 並計算矩陣 A 的平方(25分)
-
從鍵盤輸入一組學生信息(學號、姓名、高考英語成績、高考數學成績、高考語文成績),計算每個學生 3 門 課程的平均成績,並按照平均成績由高到低排序。(輸入以 3 門成績都為 0 結束)(30分)
-
輸入 m,n 其中 n 表示有 n 個人,圍城一圈,順序排好(編號為 n 的人的下一個人編號為 1)。從第一個人開始循環報數(從 1 到 m 報數),凡報到 m 的人退出圈子,要求輸出所有人出圈的次序。(用鏈表方式實現)。
2015 年
1.輸入一元二次方程的三個系數,輸出該方程的根。(15分)
2.輸入20個數,將它們按照從小到大的次序輸出。(20分)
3.編程實現將9*9矩陣按照順時針方向旋轉90度,要求不允許使用臨時矩陣作為轉換的內存單元。(20分)
4.輸入一個正整數N,利用遞歸實現求N的階乘。(20分)
5.計算兩個整數的最大公約數。(20分)
6.現有兩個學生信息文件“studentA.dat”和“studentB.dat”,每個文件中各有10名學生信息(學號,姓名,性別,年齡,住址),將兩個文件中的學生信息按照學號由小到大順序合並,合並結果寫入到“studentC.dat”中。(30分)
7.定義一個函數實現兩個集合的相加運算。(用鏈表的方式實現) (25分)
2017 年
-
計算一百以內所有完數,輸出個數及累加和
-
給定任意正整數n,計算n以內素數個數
-
輸入十個數排序並輸出結果(選擇,起泡)
-
輸入年月日,計算是這一年的第幾天
-
鏈表操作,增刪改查與合並
-
輸入一個3×3矩陣,輸出最大值及其行列號
-
文件操作,從文件中讀取數據,處理過后再寫回文件
2020年
-
輸入正數 m 和 n,輸出 m 和 n 之間的所有素數(m < n,包括 m 和 n)。
-
自定義函數,判斷該數是否是完全數(如果一個數恰好等於它的因子之和,則稱該數為“完全數”)
-
數組元素去重。假設某數組有 10 個整數,要求對於相同的元素,僅保留第一次出的元素,刪除其余的重復元素。保持數組的整體順序不變。
-
給定同一年當中的任意兩個日期,計算間隔的天數(模塊接收 5 個參數:year-年、month1-月份1、day1-日期1、month2-月份2、day2-日期2)
-
輸入一個 3 x 3 的矩陣,將每行中最大的數字放到該行的第一的位置上,然后輸出該矩陣。
-
輸入 5 名學生的信息(學號、成績、年齡)、按照學生的成績進行排序,然后輸出這 5 名學生的信息(用結構體來存儲學生信息)。
-
在一個升序的鏈表中插入一個元素,要求插入任意元素后使得鏈表依然保存升序(假設鏈表有 5 個元素)。