题目:返回一个二维整数数组中最大子数组的和。

程序代码:

#include<stdio.h>
#include<string.h>
#define M 3
#define N 3
void main()
{
int a[M][N];
int sum=0;
int tmp=0;
for (int i=0;i<M;i++ )
for (int j=0;j<N;j++ )
scanf("%d",&a[i][j]);
for (int i=0;i<M;i++ )
{
tmp=0;
for ( int j=0;j<N;j++ )
if ( a[i][tmp]<a[i][j] )
tmp=j;
printf("The max num of Line %d is %d\n",i+1, a[i][tmp]);
sum+= a[i][tmp];
}
printf("The sum is %d\n",sum);
}

运行截图:
程序思路:
本次编程思路和上次大同小异,相当于一维数组的扩充,先随机定义一个二维数组,使用二重循环为其赋值,遍历二维数组,储存每行最大值并对其进行累加,最后将其输出。
合作过程中出现的问题及解决与体会: 
在编程中对随机数组最大的问题出现了分歧,另一个同伴认为可以将随机数组的没行列当作第一行进行求和比对最后输出,最终确定了遍历二维数组的方法,两人在合作中的疑问一定要用合理的方式进行沟通,说出自己的想法,在进行探讨后再确认一个合理的方案。
合作照片:

猜你喜欢

转载自www.cnblogs.com/qingjia/p/9824621.html