最大子段和

#include<stdio.h>
int a[]={-2,11,-4,13,-5,-2};
int main()
{
    int i;
    for(i=0;i<6;i++)
    {
        printf("%d ",a[i]);
    }
    printf("
");
    printf("%d",maxsum(6,a));
    return 0;
}
int maxsum(int n,int a[])
{
    int i;
    int sum=0,b=0;
    for(i=0;i<n;i++)
    {
        if(b>0)
            b=b+a[i];
        else
            b=a[i];
        if(b>sum)
            sum=b;
    }
    return sum;
}

  

原文地址:https://www.cnblogs.com/mjn1/p/9163235.html