C語言實驗報告及上機習題題目

2021-04-19 03:53:58 字數 3104 閱讀 3748

2023年c語言上機練習題

一、 實驗練習 1

1. 掃雷遊戲(實驗五3.2) 1

2. 最大公約數、最小公倍數(實驗十3.2) 1

3. 統計單詞(實驗十四3.1) 1

4. 查詢字串(實驗十八3.2) 1

5. 結構體(實驗十九3.1/3.2) 1

二、 上機習題xt1~12 1

1. 利用泰勒級數求sin(x)(實驗三3.2) 1

2. 雞兔同籠(百驢百擔) 1

3. 求三角形面積(邊長、座標點) 1

4. 兔子繁殖(猴子吃桃)(實驗四3.1) 1

5. 求定積分(矩形法、梯形法)(實驗七3.1) 2

6. 列印字母圖案 2

7. 陣列排序(選擇法、簡單選擇法、冒泡法)(指標法逆序) 2

8. 字串比較(返回指標的函式) 2

9. 單鏈表應用(200808實驗十六3) 2

10. 檔案加密(200809實驗十七3.2) 2

要求:1. 實驗報告需要按時上交,上機習題隨堂檢查;

2. 報告命名:使用年級+專業+班+學號+姓名+序號組合,

如:10機自03班***張潮陽01。

編制程式模擬「地雷遊戲」。在9×9的方格中,隨機布上10個「地雷」,按9行9列輸出各格仔的數(有雷為9,無雷為0)。在有相鄰地雷的格仔內進一步標出相鄰地雷數。

編制程式:求兩個數的最大公約數和最小公倍數,要求用乙個函式求最大公約數,另外乙個函式求最小公倍數。要求將主函式、求最大公約數函式、求最小公倍數函式分別存放在三個不同檔案a.

cpp、b.cpp和c.cpp中。

使用檔案包含的方法進行多源程式處理。

程式設計擴充套件:求三個數的最大公約數和最小公倍數。

函式countword的原型是:int countword(char *s, int n);其功能是統計字串s中包含字母數量大於n的單詞個數。請編寫函式countword並用相應主函式進行測試。

設有一文字檔案,其最長的文字行不會超過255個字元。編寫程式實現在該文字檔案中查詢某一特定字串的功能;要求被查詢檔案的名字和被查詢的字串都從命令列帶入。

設學生資訊含學號、姓名和成績3個資料,請按如下要求程式設計處理某教學班學生的資料。

① 定義表示學生的資訊結構體型別;② 用結構體陣列處理乙個班學生資訊的,結構體陣列資料從鍵盤錄入;③ 將學生資訊按照學號的公升序排序後儲存在檔案student.inf中;④程式設計序利用上面生成的學生資訊檔案student.in實現功能:

根據從鍵盤輸入的學號在學生資料中查詢,判定該學生是否存在;若存在則輸出該學生資訊,否則輸出「沒有該學號學生」的提示資訊。

利用泰勒級數計算sin(x)=x-x3/3!+x5/5!-x7/7!+…,直到最後一項的絕對值小於10-7為止。

編制程式:求sin(x)的近似值(某項絕對值小於10-7時停止計算)

程式設計擴充套件:求sin(x)的近似值(利用泰勒級數的前n項求sin(x)的值)

編制程式:有雞兔共30只,有腳90只,求雞兔的數目。演算法:窮舉法。

程式設計擴充套件:100頭驢100擔貨物,公驢1驢3擔,母驢1驢2擔,小驢2驢1擔。求驢的數目。演算法:窮舉法。

讀入△abc的三個頂點的座標(xa,ya)、(xb,yb)、(xc,yc),用下列兩種方法求△ abc的面積:

方法一、先求△的三個邊長a,b,c,如

方法二、直接用下列公式求:

要求:用%—7.3f格式輸出s1和s2。

提示:求絕對值用abs函式,求平方根用sqrt函式。

編制程式:設有一對新生的兔子,從第三個月開始它們每個月都生一對兔子。按此規律,並假定兔子沒有死亡,一年後共有多少兔子?

演算法: 1,1,2,3,5,8,13,21,34,55,89,144,…f1=1;f2=1;fn=f1+f2;

程式設計擴充套件:猴子吃桃問題,猴子摘下若干個桃子,第一天吃了桃子的一半多乙個,以後每天吃了前一天剩下的一半多乙個,到第十天吃以前發現只剩下乙個桃子,問猴子第一天工摘了幾個桃子?(要求兩種演算法:

遞推法、遞迴法)

編制程式:用矩形法求函式定積分的c函式原型為:float djf(float a,float b,int n);,請編制該函式並用相應的主函式和被積函式進行測試。

要求兩種演算法:矩形法s1、梯形法s2。

編制程式:列印以下圖案abb

cccdddd

eeeee

ffff

ggghh

i要求:用乙個函式列印一行字元。主函式中控制要列印的行數和要列印的字元。儲存要列印的字元的變數用全域性變數。

編制程式:對乙個十個數的陣列進行排序(公升序)。

編制程式:生成乙個有8個元素的一維整型陣列,各元素的值是由隨機函式rand()產生的10~99之間的兩位數,然後用指標訪問法對其進行逆序。輸出生成後和逆序後的陣列。

程式設計擴充套件:給乙個有10個元素的整型陣列初始化為公升序,然後從鍵盤輸入乙個數,將其插入其中,使插入後的陣列仍然為公升序。輸出原陣列和插入後的陣列。

使用返回指標的函式*p(char ,char),在串二中找出串一,並返回串一首次出現的位址。並輸出刪除了串一的串二。可以使用標準的字串函式。

例如,輸入為:

串二:i_love_this_game!

串一:this

輸出為:

結果:i_love__game!

在主教材例8.14程式**的基礎上完成下面兩個函式的設計:

①為例8.14設計的帶頭結點單鏈表處理程式新增上儲存單鏈表的功能。

②在完成①的基礎上,為例8.14設計的帶頭結點單鏈表處理程式新增上從儲存鍊錶結點值檔案中取出結點值重新構造鍊錶的功能。

提示:程式設計需要檔案的知識。

程式設計序實現功能:利用聯合體資料型別實現檔案的簡單加密解密功能。

提示:本程式的實現需要順序檔案操作的知識。

11. 給1個不多於5位的正整數,1)求這個數的位數,2)逆序列印個位數。

提示:x%1000/100(找百位)……

12. 乙個5位的正整數,判定是否回文數。(如:12321是回文數)

13. 遞迴方法求5!

14. 有1,2,3,4個數字,能組成多少個互不相同且無重複數字的3位數?都是多少?

C語言實驗報告

1 實驗目的 1.熟練掌握if if.else if.else if語句,掌握if語句中的巢狀關係和匹配原則,利用if語句實現分支選擇結構。2.熟練掌握for語句格式及使用方法 3.掌握簡單 常用的演算法,並在程式設計過程中體驗各種演算法的程式設計技巧.進一步學習除錯程式,掌握語法錯誤和邏輯的檢查方...

c語言實驗報告

姓名學號 實驗班號機器號 1 實驗目的 1.掌握微控制器c語言程式結構 2.掌握微控制器c語言程式除錯方法 3.掌握msp430fg2553基本i o控制方法 4.鞏固編寫和除錯微控制器c語言程式方法 5.了解簡單介面電路的控制方法 6.了解msp430彙編格式的定址方式和指令系統 2 實驗基本任務...

c語言實驗報告

課程名稱 c語言程式設計成績評定 實驗專案名稱 陣列程式設計指導教師 楊恆伏學生姓名 吳偉蘭學號 21 專業班級 09計網實驗專案型別 實驗地點 科a301 實驗時間 2010 年4 月 29 日 一 實驗目的與要求 1 掌握一維陣列與二維陣列的定義 賦值及輸入輸出方法。2 掌握字元陣列和字串函式的...