2019年春季學期第三週做業 編程總結

####基礎做業 給定一個整數數組(包含正負數),找到一個具備最大和的子數組,返回其最大的子數組的和。 例如:[1, -2, 3, 10, -4, 7, 2, -5]的最大子數組爲[3, 10, -4, 7, 2] ##輸入: 請創建以本身英文名字命名的txt文件,並輸入數組元素數值,元素值之間用逗號分隔。 ##輸出: 在不刪除原有文件內容的狀況下,將最大子數組以及子數組的和寫入文件。 ####1).實驗代碼數組

#include<stdio.h>
#include<stdlib.h>  
int main(void)
{
	FILE*fp;
	int i=0,x=0,y=0,n=0,sum2=0,sum3=0,h=0,l=0;
	int a[10];
	if((fp=fopen("D:\\helei.txt","a+"))==NULL){
		printf("File open error!\n");
		exit(0); 
	}
	fscanf(fp,"%d\n",&n);
	printf("%d\n",n);
for(i=0;i<n;i++){
   fscanf(fp,"%d,",&a[i]);
   printf("%d,",a[i]);
   sum3=a[0]-1; 
}
    for(x=0;x<n;x++){
    	sum2=0;
       for(y=x;y<n;y++){
       	sum2=sum2+a[y];
       	if(sum2>sum3){
       		h=x;
       		l=y;
       		sum3=sum2;
		   }
	   }
    }
    printf("\n");
    fprintf(fp,"\n");
    for(h;h<=l;h++){
    	printf("%d,",a[h]);
    	fprintf(fp,"%d,",a[h]);
	}
printf("\n%d",sum3);
fprintf(fp,"\n%d",sum3);
	if(fclose(fp)){
		printf("Can not close the file!\n");
		exit(0);
	}
	return 0;
}

####2).設計思路 學習

####3).本題調試過程碰到的問題以及解決辦法 從運行結果能夠看出程序沒有計算全部可能的子數組的和,仔細檢查代碼發現第18行for(x=0;x<n-x;x++){和第二十行for(y=x;y<n-x;y++){中的n-x應爲n,當時不知道怎麼想的加了個-x,致使浪費了不少時間在檢查代碼上,修改後正確。 ####4).運行結果截圖 ####預習做業 ####7-1 判斷上三角矩陣 (15 分) 上三角矩陣指主對角線如下的元素都爲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 ####1).實驗代碼設計

#include<stdio.h> 
int main()
{
	int T=0,i=0,n=0,h=0,l=0,x=0;
	int a[10][10],b[10];
	scanf("%d",&T);
	for(i=0;i<T;i++){
		scanf("%d",&n);
		for(h=0;h<n;h++){
			for(l=0;l<n;l++){
				scanf("%d",&a[h][l]);
				if(l<h&&a[h][l]!=0){
					b[x]=1;
				}
			}
		}
		x++;
	}
	for(x=0;x<T;x++){
		if(b[x]==1){
		printf("NO\n");
	}
		else{
		printf("YES\n");
		}
	}
	return 0;
}

####2).設計思路 調試

####3).本題調試過程碰到的問題以及解決辦法 本題沒有問題。 ####4).運行結果截圖 ###2、學習進度條 |周/日期|這周所花的時間|代碼行|學到的知識點簡介|目前比較迷惑的問題| |:-:|:-:|:-:|:-:|:-:| |3/2-3/8|2h|23行|數組|無 |3/9-3/11|3h|29行|讀取文件數據|無 |3/12-3/18|5h|70行|用數組輸出矩陣|無 ###3、學習感悟 這周學習了新的C語言知識,還算簡單,有時間能夠挑戰一下難題,另外就是寫代碼的時候必定要思路清晰,認真仔細,避免出現沒必要要的錯誤。code

相關文章
相關標籤/搜索