上三角矩陣指主對角線如下的元素都爲0的矩陣;主對角線爲從矩陣的左上角至右下角的連線。
本題要求編寫程序,判斷一個給定的方陣是否上三角矩陣。數組
輸入第一行給出一個正整數T,爲待測矩陣的個數。接下來給出T個矩陣的信息:每一個矩陣信息的第一行給出一個不超過10的正整數n。隨後n行,每行給出n個整數,其間以空格分隔。學習
每一個矩陣的判斷結果佔一行。若是輸入的矩陣是上三角矩陣,輸出「YES」,不然輸出「NO」。設計
2 3 1 2 3 0 4 5 0 0 6 2 1 0 -8 2
YES NO
#include<stdio.h> int main(void) { int T,n,i,j,e,count=0; int a[10][10]; int b[100]={0}; //記錄判斷記錄 scanf("%d",&T); for(i=0; i<T; i++) { scanf("%d",&n); for(j=0; j<n; j++) { for(e=0; e<n; e++) { scanf("%d",&a[j][e]); } } for(j=0; j<n; j++) { for(e=0; e<n; e++) { if(j>e && a[j][e] != 0) { count++; } } } if(count==0 ) { b[i] = 1; } else { b[i] = 0; } count=0; } for(i=0; i<T; i++) { if(b[i]==1) { printf("YES\n"); } else { printf("NO\n"); } } return 0; }
問題1:不懂二維數組的用法
解決方法:一直看書,而後查資料,最後瞭解一點皮毛3d
問題2:循環次數太多,沒考慮到一些狀況
解決方法:看了其餘博主的博客,而後進行比較再修改指針
問題3:不知道怎樣判斷上三角矩陣
解決方法:在網上搜了視頻看,仍是不太懂調試
給定一個整數數組(包含正負數),找到一個具備最大和的子數組,返回其最大的子數組的和。
例如:[1, -2, 3, 10, -4, 7, 2, -5]的最大子數組爲[3, 10, -4, 7, 2]code
請創建以本身英文名字命名的txt文件,並輸入數組元素數值,元素值之間用逗號分隔。視頻
在不刪除原有文件內容的狀況下,將最大子數組以及子數組的和寫入文件。blog
#include<stdio.h> #include<stdlib.h> int main(void) { FILE *fp; int a[10]; int i, j, n, m, t, b, sum=0; if((fp=fopen("C:\\Users\\Administrator\\Desktop\\zhangman.txt","r+"))==NULL) { printf("File open error!\n"); exit(0); } scanf("%d", &n); for(i=0; i<n; i++) { scanf("%d", &a[i]); fscanf(fp,"%d%c", &a[i]); } m = t = a[0]; for(j=1; j<n; j++) { t += a[j]; if(t > m) m = t; if(t < a[j]) { t = a[j]; b=j; } } fprintf(fp,"\n"); while(1) { printf("%d ", a[b]); fprintf(fp,"%d ",a[b]); sum += a[b]; b++; if(sum==m) break; } printf("\n%d",m); fprintf(fp,"\n%d",m); if(fclose(fp)) { printf("Can not close the file!\n"); exit(0); } return 0; }
問題1:仍是不太懂文件指針的用法
解決方法:看書,而後查資料,也不懂多少內存
問題2:不太清楚怎麼把文件用到代碼中來
解決方法:看書上的例題,而後試着編寫
問題3:對於「fscanf()」和「fprintf()」的用法有點陌生
解決方法:翻看資料,知道了"fscanf()"的功能是把磁盤文件數據讀出保存到變量(內存),而「fprintf()」的功能是將數據和字符等寫入文件
問題4:不怎麼會判斷最大子數組
解決方法:本身編寫了好久以後,看了其餘同窗的博客,而後對比修改
周/日期 | 這周所花的時間 | 代碼行數 | 學到的知識點簡介 | 目前比較迷惑的問題 |
---|---|---|---|---|
2/25-3/3 | 三天 | 45 | 數組的認識及用法 | 數組長度的理解 |
3/4-3/10 | 兩天 | 37 | 編寫程序時處理文件 | fscanf與fprintf的具體用法 |
3/11-3/17 | 三天 | 112 | 二維數組的使用及文件插入 | 二維數組的用法、上三角的判斷及文件的處理 |
本週咱們沒上課,本身看了一點二維數組的用法及文件的處理,感受好難啊,對C語言愈來愈沒信心,忽然在思考將來的路該怎麼走。 一句話歸納如今的心情:革命還沒有成功同志仍需努力!