本週請你們完成上週挑戰做業的第一部分:給定一個整數數組(包含正負數),找到一個具備最大和的子數組,返回其最大的子數組的和。
例如:[1, -2, 3, 10, -4, 7, 2, -5]的最大子數組爲[3, 10, -4, 7, 2]
輸入:
請創建以本身英文名字命名的txt文件,並輸入數組元素數值,元素值之間用逗號分隔。
輸出
在不刪除原有文件內容的狀況下,將最大子數組以及子數組的和寫入文件。數組
#include<stdio.h> #include<stdlib.h> int main () { FILE *fp; int n; scanf ("%d\n",&n); int num [n]; int max=0,sum; int i,j,s,k; if ((fp = fopen ("C:\\songguanhao.txt","r+")) == NULL) { printf ("File open error!\n"); exit (0); } for (i=0; i<n; i++) { fscanf (fp,"%d,",&num [i]); } for (j=0; j<n; j++) { for (s=j; s<n; s++) { sum=0; for (k=j; k<=s; k++) { sum=sum+num [k]; } if (sum>max) { max=sum; } } } fprintf (fp,"\n%d",max); if (fclose (fp)) { printf ("Can not close the file! \n" ); exit (0); } return 0; }
以下圖,運行後文件中有最開始輸入的數據,也有最大和,只是少了最大和的子數組,這個子數組一開始我有想過
要用什麼辦法才能給輸出來,想了幾天想不出來。我就調試了一下程序,看看能在什麼地方把最大和數組數據拿出來,
調試後,發現不知如何拿。由於這個方法是把全部的子數組和都求了出來,我不知道要在什麼地方把數據提出來。學習
判斷上三角矩陣
上三角矩陣指主對角線如下的元素都爲0的矩陣;主對角線爲從矩陣的左上角至右下角的連線。設計
本題要求編寫程序,判斷一個給定的方陣是否上三角矩陣。指針
輸入格式:
輸入第一行給出一個正整數T,爲待測矩陣的個數。接下來給出T個矩陣的信息:每一個矩陣信息的第一行給出一個不超過10的正整數n。隨後n行,每行給出n個整數,其間以空格分隔。調試
輸出格式:
每一個矩陣的判斷結果佔一行。若是輸入的矩陣是上三角矩陣,輸出「YES」,不然輸出「NO」。code
#include<stdio.h> int main () { int i,m,n; scanf ("%d",&m); int result = 1; int s,k; for (i=0; i<m; i++) { scanf ("%d",&n); int a [n] [n]; for (s=0; s<n; s++) { for (k=0; k<n; k++) { scanf ("%d",&a [s] [k]); } } for (s=1; s<n; s++) { for (k=0; k<s; k++) { if (a[s][k] != 0) { result = 0; break; } } } if (result == 0) { printf ("NO\n"); } else { printf ("YES\n"); } result = 1; } return 0; }
如圖,圖中代碼運行結果很明顯能夠看到是一個矩陣後接一個結果,我老是糾結原題目中是要求兩個結果一會兒
全輸出來的。因而老是在想着怎樣改才能使結果所有輸出來。我嘗試太重新定義一個數組用來存放結果,到最後的最後
一下全輸出來,但對數組的運用不是很熟練,老是搞不成。blog
周/日期 | 這周所花的時間 | 代碼行數 | 學到的知識點簡介 | 目前比較迷惑的問題 |
---|---|---|---|---|
3/2-3/8 | 三天六小時 | 50 | 一、定義、運用文件指針;二、如何打開、關閉文件三、如何讀出指定文件中的數據;四、如何向指定文件中寫入數據; | 字符、字符串有什麼區別?兩者輸入、輸出有沒有很大不一樣?什麼纔算字符串?什麼算字符?在文件中兩者有沒有差異? |
3/9-3/15 | 四天三小時 | 180 | 一、運用二維數組解決問題,矩陣的判斷;二、對一組數的全部子數組求和 | 如何在輸出時利用數組的性質 |
本週雖然沒有課,但依然沒鬆懈。佈置的題目其實本身看看課本也就能懂。二維數組沒學的時候總感受有些複雜,看了書後感受也沒什麼。在作題過程當中,最讓我頭疼的就是輸出的格式,明明 pta 中要求的就是連續輸出兩個結果,我糾結半天,原來挨個輸出也可經過。還有就是另外一題目的子數組並無成功輸出,
仍是很遺憾,多是本身沒有盡力去思考,實在是.......字符串