第四周程式設計總結

2022-06-27 14:36:09 字數 3266 閱讀 1004

7-2 選擇法排序 (20 分)

本題要求將給定的n個整數從大到小排序後輸出。

輸入格式:

輸入第一行給出乙個不超過10的正整數n。第二行給出n個整數,其間以空格分隔。

輸出格式:

在一行中輸出從大到小有序的數列,相鄰數字間有乙個空格,行末不得有多餘空格

#includeint main (void)

{ int i,j,n,a[10],ndex,temp;

scanf("%d",&n);

for(i=0;i1)設計思路:

第一步:引用標頭檔案,定義自己需要的整數型變數;

第二步:用for語句把資料輸入進去,

第三步:就是開始尋找最大值,從第乙個開始找到最後;

第四步:依次進行尋找之後,進行儲存資料,最後進行輸出排序;

流程圖:

2)遇到的問題:

一開始根據書本上的,把尋找最大值弄成了找最小值,結果導致了有錯誤出現,經過多次的查詢才找出這個錯誤,因為

賦值語句比較,所以搞混淆了;

3)解決方法:

出現了答案錯誤之後就去編譯器進行除錯,通過檢視變數,最後發現了是一開始把最小值弄出來了;

導致了一開始就出現6,之後就又對了,所以除錯後就發現了;

4)正確和錯誤截圖:

7-1 找鞍點 (20 分)

乙個矩陣元素的「鞍點」是指該位置上的元素值在該行上最大、在該列上最小。

本題要求編寫程式,求乙個給定的n階方陣的鞍點。

輸入格式:

輸入第一行給出乙個正整數n(1≤n≤6)。隨後n行,每行給出n個整數,其間以空格分隔。

輸出格式:

輸出在一行中按照「行下標 列下標」(下標從0開始)的格式輸出鞍點的位置。如果鞍點不存在,則輸出「none」。題目保證給出的矩陣至多存在乙個鞍點。

1)實驗**:

">int main()

{ int i,j,n,a[6][6],max[6],min[6],point=0;

int m=0,k=0;

scanf("%d",&n);

for(i=0; i2)設計思路:

第一步:應用標頭檔案,定義自己需要的陣列以及其他整形變數;

第二步:按行列進行陣列資料的輸入,

第三步:用兩個for語句控制行列,找出每一行中的最大值;

第四步:同樣的用兩個for語句,找出每一列中的最小值;

第五步:再把找出來的最大值和最小值放入陣列中,看這兩個值是否同時滿足題目要求;最後輸出行列;

3)流程圖:

3)遇到的問題:

一開始看這個題目經過理解之後很快就找到了這個思路,然後再寫完**之後發現找不出鞍點,經過了多次嘗試之後還是找不出錯誤的原因,

因為是結對程式設計,所以用了另外一種思路,找出行的最大值之後,記下列,然後再看這個數是不是列的最小值,最後發現這個好像看似簡單

但是操作比較複雜,容易搞混淆,所以就堅持了第一種方法,經過同學和助教的幫助,最後是輸出結果的判斷條件錯誤;

4)解決方法:

一開始通過除錯的方法去看最大值和最小值是否正確,經過無數次的除錯和修正終於把最大值和最小值找出來了,再同學的幫助和提示下發現了

最後判斷條件錯誤,經過修正後,結果正確;

5)截圖:

7-1 冒泡法排序 (10 分)

輸入1個正整數n(1<=n<=10),然後輸入n個整數並存放在陣列中,將這n個整數從大到小排序後輸出,相鄰數字間有乙個空格,行末不得有多餘空格。

輸入格式:

輸入第一行給出乙個不超過10的正整數n。第二行給出n個整數,其間以空格分隔。

輸出格式:

在一行中輸出從大到小有序的數列,相鄰數字間有乙個空格,行末不得有多餘空格。

1)實驗**:

#includevoid bubble(int a,int n);

int main (void)

{ int n,i,a[10];

scanf("%d",&n);

for(i=0;i2)設計思路:

第一步:引用標頭檔案,並且用bubble()函式;

bubble()函式是實現陣列元素的的排序。它有兩個形參,a是等待陣列排序的整形陣列名,n是指明陣列a待處理的陣列元素的數量。

第二步:用for語句迴圈找出最大值;輸出結果;

3)流程圖

4)遇到的問題:

這個題目和選擇排序法類似,況且書本上也有類似的題目,雖然沒學但是不是太難;在這個過程中把找最大值弄成了找最小值:

5)解決方法:

答案錯誤,我就去編譯器執行,剛開始還是沒有發現這個問題,最後看了輸出提示之後才發現,弄反了;

6)截圖:

心得:這一周的學習是老師上課說的二維陣列的練習,二維陣列和一維陣列差不多,就是在輸入輸出方面差不多,有差別的地方就是,

二維陣列要同時控制行列,在進行判斷方面也要複雜一點點,在這一周的程式設計過程中,發現了自己對賦值資料不是很清楚,很容易

弄混淆,同時在二維陣列條件判斷中也存在不足,還有就是程式設計過程中細節主要有了提高,但是省題還需要加強;

這一周所花的時間就是每天晚上九點到十一點半,不懂的地方就是二維陣列的應用和條件的處理;

第四周程式設計總結

這個作業屬於的課程 第四周程式設計總結 我在這個課程的目標是 學習一維和二維陣列 這個昨天在哪個具體方面幫我實現目標 進一步學習c語言這門課程 參考文獻 c語言程式設計 5 1輸入乙個正整數 n 1 n 10 和n 階方陣a的元素,如果方陣a中的所有元素都沿主對角線對稱,輸出 yes 否則,輸出 n...

第四周程式設計總結

5 1輸入乙個正整數 n 1 n 10 和n 階方陣a的元素,如果方陣a中的所有元素都沿主對角線對稱,輸出 yes 否則,輸出 no 主對角線為從矩陣的左上角至右下角的連線,方陣a中的所有元素都沿主對角線對稱指對所有i,k,a i k 和a k i 相等。輸入輸出示例如下 輸入 3 1 2 3 4 ...

第四周程式設計總結

這個作業屬於哪個課程 c語言程式設計ll 這個作業要求在 我在這個課程的目標是 希望能多了解陣列的演算法,以後碰見類似的題目時能夠不出錯誤的做出來 這個作業在哪個具體方面幫助我實現目標 這個作業讓我大概了解了選擇排序法和氣泡排序法,並且對陣列有了更深入的了解 參考文獻 本題要求將給定的n個整數從大到...