最大子段和

#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("\n");
    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;
}

  

posted @ 2018-06-10 14:32  青衫客36  阅读(98)  评论(0编辑  收藏  举报