C語言II部落格作業02

2022-06-29 18:57:13 字數 2636 閱讀 3578

| 這個作業屬於哪個課程 | |

| ---- | ---- | ---- |

| 這個作業要求在** | /homework/11808 |

|這個作業的目標| 熟悉陣列|

|學號|20199473|

2.1 完成pta作業,並給出程式設計題完成截圖(5分)

2.1.1某醫院想統計一下某項疾病的獲得與否與年齡是否有關,需要對以前的診斷記錄進行整理,按照0-18、19-35、36-60、61以上(含61)四個年齡段統計的患病人數佔總患病人數的比例。

2.1.2在主函式中首先輸入乙個整數n(12.2.1.根據三種解法給出相應的**,並給出測試資料。(15分)

解法一:採用窮舉法,從陣列中任意取出兩個數字,計算兩者之和是否為給定的數字。

測試資料:

| 輸入資料 | 輸入陣列內的值 | 輸出資料 |說明|

| ---- | ---- | ---- | ----| ---- |

| 4 | 1 2 2 3 | 0 3 和 1 2 | 輸出為找到值相等的陣列下標 |

|6|1 3 2 3 |1 3|輸出為找到值相等的陣列下標|

|10|1 9 3 2|0 1 |輸出為找到值相等的陣列下標|

|5 |2 4 1 3| 0 3 和 1 2 |輸出為找到值相等的陣列下標|

解法二:對陣列中的每個數字arr[i]都判別sum-arr[i]是否在陣列中。

測試資料

| 輸入資料 | 輸入陣列內的值 | 輸出資料 |說明|

| ---- | ---- | ---- |---- | ---- |

| 4 | 1 2 2 3 | 0 3 1 2 | 輸出為找到值相等的陣列下標|

|15|1 14 10 15|0 1|輸出為找到值相等的陣列下標|

|20|16 17 3 8|1 2|輸出為找到值相等的陣列下標|

|25|22 7 5 3|0 3|輸出為找到值相等的陣列下標|

解法三:對陣列進行排序,然後使用二分查詢法針對arr[i]查詢sum-arr[i]。

測試資料

| 輸入資料 | 輸入陣列內的值 | 輸出資料 |說明|

| ---- | ---- | ---- | ---- | ---- |

| 16 | 1 27 15 8 | 0 2 |輸出為找到值相等的陣列下標|

| 17 | 1 23 13 16 | 0 3 |輸出為找到值相等的陣列下標|

| 18 | 17 28 1 78 | 0 2 |輸出為找到值相等的陣列下標|

2.2.2.請說明三種演算法的區別是什麼?你還可以給出更好的演算法嗎?(10分)

第一種演算法寫出來的**易懂,很容易理解。

第二種演算法用的時間少。

第三種演算法現在我還是不是很多了解這種演算法,但邏輯很緊密。

2.3 請搜尋有哪些排序演算法,並用自己的理解對集中排序演算法分別進行描述(5分)

1.氣泡排序:將相鄰兩個數進行交換,重複的過程,一般,如果有n個數進行排序,則需進行n-1起泡

2.選擇排序:在交換排序的基礎上,找出餘下的數中的最大值再與地i+1個數進行交換,這樣每一輪比較中最多只有一次交換操作,這個演算法最多只有n—1次交換操作

3.快速排序:快速排序的基本思想是通過一趟排序演算法把所需要排序的序列的元素分割成兩大塊,其中,一部分的元素都要小於或等於另外一部分的序列元素,然後仍根據該種方法對劃分後的這兩塊序列的元素分別再次實行快速排序演算法,排序實現的整個過程可以是遞迴的來進行呼叫,最終能夠實現將所需排序的無序序列元素變為乙個有序的序列。

4.交換排序:借鑑了求最大值,最小值的思想,按公升序排列的基本過程為:先將第乙個數分別與後面的數進行比較,若後面是的數小,則交換和第乙個數的位置,否則不交換:這一輪結束之後,則求除了乙個最小的放在第乙個位置,然後進行第二輪比較,但這種交換效率低

2.4 請給出本週學習總結(15分)

2.4.1 學習進度條(5分)

2.4.2 累積**行和部落格字數(5分)

2.4.3 學習內容總結和感悟(5分)

感悟1.還是很多不懂要多去學習陣列的知識。

2,要加強自己c語言寫題的速度。

C語言II部落格作業02

作業屬於哪個課程 班級的鏈結 這個作業要求在 作業要求的鏈結 這個作業的目標 熟練運用陣列進行程式設計,學會使用一維陣列進行程式設計,掌握選擇排序法和二分查詢法 學號20208927 2.1 完成pta作業,並給出程式設計題完成截圖 2.2 題目 快速尋找滿足條件的兩個數 能否快速找出乙個陣列中的兩...

C語言II部落格作業02

這個作業屬於哪個課程 這個作業要求在 homework 11423 這個作業的目標 學習檔案的使用與知識 學號 20209165 1.學生知道在哪種情況下可以使用構造資料型別 陣列進行資料的處理 2.掌握用一維陣列進行程式設計 3.掌握選擇排序法和二分查詢法 能否快速找出乙個陣列中的兩個數字,讓這兩...

C語言II部落格作業02

這個作業屬於哪個課程 這個作業要求在 homework 11808 這個作業的目標 熟練的掌握陣列的編譯概念還有排序法 學號 20209222 第七章 陣列 7.17.1 輸出所有大於平均值的數 1.學生知道在哪種情況下可以使用構造資料型別 陣列進行資料的處理 2.掌握用一維陣列進行程式設計 3.掌...