注意:
1.参与相加的元素必须在数组中具有连续下标
2.单个元素自身属于连续元素相加的特例
实现代码:
#include<stdio.h>
int main()
{
int a[]={-1,-2,-1,3,4,5,-4,-2,5,8};
int len=sizeof(a)/sizeof(a[0]);
int max1=a[0];
for(int i=0;i<len;i++)
{
if(a[i]>max1)
max1=a[i];
}
int b[10000],cnt=0,c;
for(int i=0;i<len;i++)
{
int sum=a[i];
for(int j=i+1;j<len;j++)
{
sum+=a[j];
b[cnt]=sum;
cnt++;
c=cnt;
}
}
int max2=b[0];
for(cnt=0;cnt<c;cnt++)
{
if(b[cnt]>max2)
max2=b[cnt];
}
if(max1<max2)
printf("%d",max2);
else
printf("%d",max1);
}