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

相关文章
相关标签/搜索