基礎做業 本週沒上課,可是請你們不要忘記學習。 本週請你們完成上週挑戰做業的第一部分:給定一個整數數組(包含正負數),找到一個具備最大和的子數組,返回其最大的子數組的和。 例如:[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 i,n,m,total=0; if((fp=fopen("F:\\yanghucai.txt","w+"))==NULL) { printf("File open error!\n"); exit(0); scanf("%d",&n); fprintf(fp,"%d\n",n); } scanf("%d",&n); fprintf(fp,"%d\n",n); int a[8],max=a[0]; for(i=0;i<8;i++) { scanf("%d",&a[i]); fprintf(fp,"%d",a[i]); if(m!=7) { fprintf(fp,","); } } for(i=0;i<8;i++) { total+=a[i]; if(total<a[i]) { total=a[i]; } if(max<total) { max=total; } } printf("%d",max); fprintf(fp,"\n%d",max); if(fclose(fp)) { printf("Can not close the file!\n"); exit(0); } return 0; }
本題爲上週的挑戰做業,可貴使人頭皮發麻,光是不寫入文件我就以爲很難了,更難的是還要寫入文件裏,難度我給五顆星,做爲小白的我不斷看別人怎麼寫的,從看懂到本身慢慢嘗試。 文件有些地方不太懂,不知道爲何回車要放前面,開闢了一個符合題意空間的數組爲何還要往文件裏輸入n,爲何逗號能夠直接輸入文件裏。經過問室友和百度解決了這些問題,回車放前面是提早換行,輸入行數n的緣由防止開闢數組空間太小形成偏差,在C語言中,能夠使用格式化輸入函數fscnaf來解決輸入逗號的問題。 學習
上三角矩陣指主對角線如下的元素都爲0的矩陣;主對角線爲從矩陣的左上角至右下角的連線。spa
本題要求編寫程序,判斷一個給定的方陣是否上三角矩陣。設計
輸入格式: 輸入第一行給出一個正整數T,爲待測矩陣的個數。接下來給出T個矩陣的信息:每一個矩陣信息的第一行給出一個不超過10的正整數n。隨後n行,每行給出n個整數,其間以空格分隔。指針
輸出格式: 每一個矩陣的判斷結果佔一行。若是輸入的矩陣是上三角矩陣,輸出「YES」,不然輸出「NO」。code
輸入樣例:blog
2 3 1 2 3 0 4 5 0 0 6 2 1 0 -8 2
輸出樣例:it
YES NO
#include<stdio.h> int main(){ int T; int i,j,t,flag=0; scanf("%d\n",&T); int a[10][10],n; for(t=1;t<=T;t++){ flag=1; scanf("%d\n",&n); for(i=0;i<n;i++){ for(j=0;j<n;j++){ scanf("%d",&a[i][j]); if(j<i&&a[i][j]!=0){ flag=0; } } } if(flag==1) printf("YES\n"); else printf("NO\n"); } return 0; }
這個題就是用for循環作的,要定義一個二維數組去作,注意知足上三角的條件,對角線以上爲1,如下爲0。io
看懂題意花了半個小時,判斷上三角的條件就是行大於列且元素不爲0,可是在設計時我把標記的flag弄錯了,致使上三角輸出NO,不是則輸出了YES,後來仔細檢查發現了這個錯誤·,可是我把改好的程序放在C++上編譯時倒是分步輸出,而pta上要求一步輸出,我提交pta對了,也許pta上認爲這是對的吧,這個問題使我認識到了pta格式有時候也不必定那麼嚴格;
###(五)學習進度條 |||||||||||||| |:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--| |周/日期|這周所花的時間|代碼行|學到的知識點簡介|目前比較迷惑的問題| |3/2-3/8|3天|30|一維數組的使用及文件的儲存。|指針不會用| |3/9-3/15|3天|100|二維數組|文件的增強版子數組|
簡單預習了二維數組,完成了上三角矩陣,離不開循環結構作題,對於文件輸出最大子數組之和,我認爲很難,個人思惟老是打不開,只能慢慢探索,知識仍是學淺了,下週要更努力。