C語言II部落格作業02

2022-06-27 05:24:09 字數 2127 閱讀 6631

這個作業屬於哪個課程

這個作業要求在**

homework/11423

這個作業的目標

《學習檔案的使用與知識》

學號<20209165>

1.學生知道在哪種情況下可以使用構造資料型別—陣列進行資料的處理

2.掌握用一維陣列進行程式設計

3.掌握選擇排序法和二分查詢法

能否快速找出乙個陣列中的兩個數字,讓這兩個數字之和等於乙個給定的值,為了簡化起見,我們假設這個陣列中肯定存在至少一組符合要求的解。

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

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

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

要求:1.根據三種解法給出相應的**,並給出測試資料。(15分)

陣列的資料

定值預期結果

陣列的資料

定值預期結果

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

####演算法1:窮舉法利用for的巢狀將陣列中的每乙個元素進行加法計算與核實。

####演算法2:同樣是for的巢狀,但是用減法計算,是在第乙個迴圈中進行減法,在第二個迴圈中核實與計算結果一樣的元素

####演算法3:首先要將陣列進行排序,再根據第二種演算法的第一步,求出另乙個數,再用二分查詢法查詢另乙個數是在陣列中。

選擇排序法:在陣列中選擇乙個最大或者最小的數排在前面,再從剩下的數中選擇排在後面。氣泡排序法:比如說公升序排列,那麼就依次相鄰兩個數比較大小,然後把大的數放在後面。插入排序法:它通過構建有序序列,對於未排序的資料序列,在已排序序列中從後向前掃瞄,找到相應的位置並插入。希爾排序法:希爾排序在插入排序的基礎上進行了改進,它的基本思路是先將整個資料序列分割成若干子串行分別進行直接插入排序,待整個序列中的記錄基本有序時,再對全部資料進行依次直接插入排序快速排序法:首先從數列中挑出乙個元素,重新排序數列,所有比基準值小的元素擺放在基準前面,所有比基準值大的元素擺在基準後面(相同的數可以到任何一邊)。在這個分割槽結束之後,該基準就處於數列的中間位置。之後,在子串行中繼續重複這個方法,直到最後整個資料序列排序完成。歸併排序法:歸併排序嚴格遵循從左到右或從右到左的順序合併子資料序列, 它不會改變相同資料之間的相對順序, 因此歸併排序是一種穩定的排序演算法.

周/日期

這週所花的時間

**行學到的知識點簡介

目前比較迷惑的問題

第一周/03.08-03.015

250分鐘

201陣列可以儲存資料可以引用輸入資料

陣列資料處理的多種方式

總結:陣列屬於資料型別,不同於其他資料他可以儲存一組資料並且可以將資料編號,方便後面資料的引用與查詢。

感悟:陣列的輸入需要使用for迴圈或陣列的初始化來進行賦值,相對比較麻煩。

C語言II部落格作業02

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

C語言II部落格作業02

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

C語言II部落格作業02

這個作業屬於哪個課程 班級鏈結 這個作業要求在 作業要求的鏈結 這個作業的目標 掌握如何使用陣列並且正確解決問題 學號20208945 二 本週作業 2.1 完成pta作業,並給出程式設計題完成截圖 2.2 題目 快速尋找滿足條件的兩個數 能否快速找出乙個陣列中的兩個數字,讓這兩個數字之和等於乙個給...