判断上三角矩阵
一、实验代码
include<stdio.h>
int main()
{
int T;
scanf("%d
",&T);
int i,j,t,n;
int a[10][10],Tab[100];
for(t=1;t<=T;t++){
n=1;
scanf("%d
",&Tab[t]);
for(i=0;i<Tab[t];i++){
for(j=0;j<Tab[t];j++){
scanf("%d",&a[i][j]);
if(i>j){
if(a[i][j]!=0) {
n=0;
}
}
}
}
if(n) printf("YES
");
else printf("NO
");
}
return 0;
}
二、设计思路
第一步:定义矩阵数T,行标 i,列标 j,循环变量 t, n
第二步:定义整型二维数组a[10][10],一维数组tab[100]
第三步:for循环,循环T次
第四步:循环i,j,
第五步:if语句
第六步:判断结果,输出结果
三、本题调试过程碰到问题及解决方法
问题:n=1默认为矩阵上三角
解决方法:求助大佬,网上搜索。
四、流程图
五、运行结果截图
六、完成时间:四五个小时
体会:有点难,多学习,好好学习,天天向上。
给定一个整数数组(包含正负数),找到一个具有最大和的子数组,返回其最大的子数组的和。
例如:[1, -2, 3, 10, -4, 7, 2, -5]的最大子数组为[3, 10, -4, 7, 2]
一、实验代码
include<stdio.h>
include<stdlib.h>
int main()
{
FILE*fp;
int sum,p,q,i,j,n;
int a[n];
if((fp=fopen("C:\YJJ\YJJ.txt","w"))==NULL)
{
printf("File open error!
");
exit(0);
}
scanf("%d",&n);
fprintf(fp,"%d
",n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
fprintf(fp,"%d,",a[i]);
}
p=a[0];
for(i=0;i<n;i++)
{
sum=0;
for(j=i;j<n;j++)
{
q=a[j];
sum+=a[j];
if(q<sum)
{
q=sum;
}
}
if(p<q)
{
p=q;
}
}
fprintf(fp,"%d
",p);
if(fclose(fp))
{
printf("Can not close the file!
");
exit(0);
}
return 0;
}
二、设计思路
第一步:编译头文件,新的文件名
第二步:定义指针变量,整型变量,数组名
第三步:打开文件
第四步:for循环,读入和处理数据
第五步:a[0]赋值给p
第六步:求和
第七步:比较大小,赋值
第八步:输出结果
三、本题调试遇到问题和解决方法
问题:运行结果错误,显示输入错误
解决方法:文件名称和途径出现错误
四、流程图
五、运行结果截图
六、完成时间:三个半小时
体会:复杂,和同学一起讨论学习,借鉴大佬方法,好好学习,天天向上。
完成过程艰难,错误很多次,有点累。但会再接再厉。