结对成员:闵芮 高琪
题目:求数组中所以子数组的和的最大值
设计思路:定义一个二维数组,sum[10][10]来记录a[10]所有子数组的和,sum[i][j]表示从a[i]开始加,加到a[j]的子数组的和,最后求出sum[10][10]中的最大值即为所有子数组和的最大值。
代码:
#include<iostream>
using namespace std;
int M(int a[10])
{
int sum[10][10]={a[0]};
int i,j;
int max=sum[0][0];
for(i=0;i<10;i++)
{
for(j=if;j<10;j++)
sum[i][j]=sum[i][j-1]+a[j];
}
for(i=0;i<10;i++)
{
for(j=i;j<10;j++)
if(max<sum[i][j])
max=sum[i][j];
}
return max;
}
void main()
{
int a[10],max;
cout<<"请输入数组元素:"<<endl;
for(int i=0;i<10;i++)
cin>>a[i];
max=M(a);
cout<<"字数组和的最大值是:"<<max<<endl;
}
设计草图: