1. 程式人生 > >題目:返回一個二維整數陣列中最大子陣列的和。

題目:返回一個二維整數陣列中最大子陣列的和。

程式程式碼:

#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);
}

執行截圖: 程式思路: 本次程式設計思路和上次大同小異,相當於一維陣列的擴充,先隨機定義一個二維陣列,使用二重迴圈為其賦值,遍歷二維陣列,儲存每行最大值並對其進行累加,最後將其輸出。 合作過程中出現的問題及解決與體會:  在程式設計中對隨機陣列最大的問題出現了分歧,另一個同伴認為可以將隨機陣列的沒行列當作第一行進行求和比對最後輸出,最終確定了遍歷二維陣列的方法,兩人在合作中的疑問一定要用合理的方式進行溝通,說出自己的想法,在進行探討後再確認一個合理的方案。 合作照片: