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

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

一。題目:

                  1、輸入一個二維整形陣列,數組裡有正數有負數。

                  2、二維陣列中連續的一個子矩陣組成一個子陣列。

                  3、求所有子陣列的和的最大值。

二.設計思想:

 .定義一個二維陣列,使用二重迴圈對其進行賦值,對其進行遍歷,定義一個變數tmd,將每行的最大值賦值給他,並對這個最大值進行累加,輸出這個最大值的和。

三.

原始碼:

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

三,結果:

四,總結

通過本次實驗我們對二維陣列有了更深刻的認識,成功完成了二維陣列的最大子陣列,同時我們結對開發,開發之前進行了分配任務,之後兩個人積極的進行開發,最後在齊心合力的努力下,順利完成任務。

五,照片展示