本周请你们完成上周挑战做业的第一部分:给定一个整数数组(包含正负数),找到一个具备最大和的子数组,返回其最大的子数组的和。
例如:[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 中要求的就是连续输出两个结果,我纠结半天,原来挨个输出也可经过。还有就是另外一题目的子数组并无成功输出,
仍是很遗憾,多是本身没有尽力去思考,实在是.......字符串