C語言 第四次作業 陣列

2022-05-19 22:48:10 字數 2386 閱讀 6374

不知不覺都快學習c語言結束了,自從開始了陣列的學習就感覺難度瞬間幾何級上公升鴨(讓人頭大,感覺到了各種絕望),做題時候有時候思路到是想得出,可是就是自己很難把他實現。還有就是測試點有些過不了難度是真的感覺有點大。因為要複習線性代數,打**的時間一少,再打**的時候會發現很容易忘記課堂上老師說過的知識。有一些本來感覺記住的東西,開始打**的時候還是會忘記,果然實踐出真知。

在做課堂派的時候讓我記憶比較深刻的就是二分法,感覺這個找想要的數好快鴨。陣列題目需要的邏輯思考感覺更複雜,還要考慮到更多的方面。這次課程老師還提到了好多的標頭檔案,emmmm看來需要背書了....

- int n, int插入數字x,int 迴圈變數i和j

- int a[10]存放輸入的有序數列

- for(i=0到n)挨個輸入陣列存入a陣列中,scanf( x )

- for(0到n)對a[n]中的數字進較,ifx

q1:為何總是有兩個測試點不過(最大n插在最後,最小n)

a1:一開始為了比較完整,將第乙個迴圈的上限值設定為n+1,導致第二個迴圈裡面的i+1,在遇到最大n時,會出現由後往前挪位的迴圈出現崩潰例如: for(i=n;i=n+1; i--)

a2:之前一直找不到問題所在,冷靜下來代數字進迴圈內找才發現這個問題

- int 迴圈變數i j,for(0到n)加內迴圈for(0到n)將輸入的數字存入二維陣列中

- int x=0,y=0,z=0,討論特殊的情況if(n=1)printf(0 0)

- else for( i=0到n)加內迴圈對每一行全部元素進行比較,

if( a[i][x]<=a[i][z])則將x=z,使得最大數能被標記出來

- 同第四步,將每一列的最小數標記出來,if標記的最大,最小數是同乙個數,則flag=0, break跳出最開始的迴圈找到鞍點

- if(flag=0) printf(對應下標i x) else printf(none)

q1:一開始是找不到思路的,emmmm老師原本上課有講過這個題目不過忘了老師的思路,於是參考了網上的乙個做法

a1:自己去看了之後下來按照那個思路打發現並不是想象的那麼順利,於是在部分正確之間徘徊許久....

- int a[11000],b[11000];int 迴圈變數i,j

- int flag;gets a,b;len1, 2=strlen(1, 2)

- for(0到len1)

for(0到len2)

- if(a[i]==b[j])flag改變,break;

- if(flag!=0)

printf(a[i]);

q1:一開始對那個a-b的理解是刪除對應字元就可以了,不過自己實現不了自己的想法

a1:於是換了個思路,對兩個字串進行比較最後,輸出不相等字元

a2:提交倒數第二遍的時候發現有兩個點執行超時,後面加大了陣列長度得以解決

- 從開頭來看我們兩個對於字串輸入,以及迴圈上限的確定方法都是一樣的

- 不一樣的是在這位同學是當出現相同的字元把a字串該字元刪去 其餘統統左移,我的是用乙個flag來標記判斷是否相同,對相同的字元標記,在迴圈的同時進行比較後後的字串進行輸出,而他是在建立乙個迴圈進行輸出

C語言 第四次作業

作業要求一 70分 實踐最簡答的專案wordcount,必須完成其中的基本功能,若可以完成其他功能給予加分。完成後請將你的設計思路 主要 寫在本次作業部落格裡。真的迷茫,老師辛苦了。要求二 學習總結和進度 1 git 2 點評3個同學的本週作業。王姝雯 孫銘婧 張心悅 3 請用 和折線圖呈現你本週 ...

c語言第四次作業

1.實驗 1 include 2 include 3 include 4 5int main 620 if sum i 23 2425 return0 26 2 設計思路 1 文字描述 第一步,定義n。第二步,利用乙個while語句和乙個for迴圈輸出水仙花數。2 流程圖 3.本題除錯過程碰到問題及...

C語言第四次作業

這個作業屬於哪個課程 計科二班 這個作業要求在 作業要求 這個作業的目標 對於自定義函式的應用練習,完成pta作業 學號20208984 1.1 求組合數 題目內容 1.1.1資料處理 資料表達 定義了整形n,m,浮點型c,i,result 1 資料處理 使用了for迴圈以及兩個表示式c fact ...