一.题目:
1、输入一个二维整形数组,数组里有正数有负数。 2、二维数组中连续的一个子矩阵组成一个子数组。 3、求所有子数组的和的最大值。二.设计思想: .定义一个二维数组,使用二重循环对其进行赋值,对其进行遍历,定义一个变量tmd,将每行的最大值赋值给他,并对这个最大值进行累加,输出这个最大值的和。三.源代码:#include<stdio.h>#include<string.h>#define M 3#define N 3void 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); }三,结果:
四,总结通过本次实验我们对二维数组有了更深刻的认识,成功完成了二维数组的最大子数组,同时我们结对开发,开发之前进行了分配任务,之后两个人积极的进行开发,最后在齐心合力的努力下,顺利完成任务。五,照片展示