基础做业 本周没上课,可是请你们不要忘记学习。 本周请你们完成上周挑战做业的第一部分:给定一个整数数组(包含正负数),找到一个具备最大和的子数组,返回其最大的子数组的和。 例如:[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|二维数组|文件的增强版子数组|
简单预习了二维数组,完成了上三角矩阵,离不开循环结构作题,对于文件输出最大子数组之和,我认为很难,个人思惟老是打不开,只能慢慢探索,知识仍是学浅了,下周要更努力。