2019年春季学期第三周作业.
一、本周完成的作业
1.判断上三角矩阵
(15 分)
上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。
本题要求编写程序,判断一个给定的方阵是否上三角矩阵。
1)实验代码
#include<stdio.h> int main(){ int T; scanf("%d\n",&T); int i,j,t,flag; int a[10][10],b[100]; for(t=1;t<=T;t++){ flag=1; scanf("%d\n",&b[t]); for(i=0;i<b[t];i++){ for(j=0;j<b[t];j++){ scanf("%d",&a[i][j]);</span><span style="color: #0000ff;">if</span>(i><span style="color: #000000;">j){ </span><span style="color: #0000ff;">if</span>(a[i][j]!=<span style="color: #800080;">0</span><span style="color: #000000;">){ flag</span>=<span style="color: #800080;">0</span><span style="color: #000000;">; } } }
}
if(flag)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}
2)设计思路
3)调试过程中遇到的问题和解决方案
一开始看到这道题就翻了书看了二维数组的一些基本东西,但始终有错无法正确编译,后来学习交流群里发了一些帮助视频,在看完视频后才找到思路,把题目正确编译运行出来,这道题说难不是很难但没学二维数组就写就有点摸不着头脑
4)运行结果截图
2.最大子数组和
上周挑战作业的第一部分:给定一个整数数组(包含正负数),找到一个具有最大和的子数组,返回其最大的子数组的和。
例如:[1, -2, 3, 10, -4, 7, 2, -5]的最大子数组为[3, 10, -4, 7, 2]
输入:
请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。
输出
在不删除原有文件内容的情况下,将最大子数组以及子数组的和写入文件。
1)实验代码
#include<stdio.h>
#include<stdlib.h>
int main ()
{
FILE *fp;
int n,i,sum=0;
int a[100];
int max=a[i];
if((fp=fopen("C:\\Users\\Admin\\Desktop\\zuoye\\zhangwei.txt","w+"))==NULL)
{
printf("File open error!\n");
exit(0);
}
fprintf(fp,"%d\n",n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
fprintf(fp,"%d",a[i]);
for(i=0;i<n;i++)
{
sum+=a[i];
if(sum<a[i])
{
sum=a[i];
}
if(sum>max)
{
max = sum;
}
}
fprintf (fp,"\n%d",max);
if(fclose(fp))
{
printf("Can not close the file!\n");
exit(0);
}
return 0;
}
2)设计思路
3)调试过程中遇到的问题和解决方案
问题:不知道为什么运行结果错误,文档里出现了一串奇怪的数字
解决方法:后面检查的时候发现又是老毛病,文档路径又输错了导致运行错误,改成正确的路径就好了
4)运行结果截图
二、学习进度条
周/日期 |
这周所花的时间 |
代码行数 |
学到的知识点简介 |
目前比较迷惑的问题 |
3/3-3/9 |
四个小时 |
32 |
这周学习了文件 |
不太理解文件的运用和一些符号的意义导致打代码进度很慢 |
3/10-3/15 |
四个小时 |
130 |
这周虽然没上课但完成了上周的一部分挑战作业,还预习了二维数组并且完成了一个题目 |
对于二维数组还是不太理解 |
三、学习感悟
这周由于老师重感冒没能给我们上课,所以我对这次的作业的完成还是有点困难的,特别是二维数组的一些东西还不太理解,还好学习群里有一些教程可以帮助我们完成作业
---恢复内容结束---
---恢复内容结束---