求一堆数组中最大的子数组

成员:周其范20112794    胡宝月20112827

上课的时候老师布置了这个题目,初一看这个题目,我们讨论的时候就是在想,应该从第一个数开始,一个一个加,一直加到最后一个数,然后从第二个数开始,一个一个加,加到最后一个,以此类推,在比较的过程中,我们需要比较每加一次的数大小,把每比一次的数赋给sum,把最大的数值赋给max。设计的思路就是这样,其实就是需要2个循环嵌套,所以我们的设计代码如下:

 

 

 

int max(int list[],int length)
{
    int sum ;
    int i,j;
    int max = list[0];
    for(i = 0; i<length; i++)
    {
        sum=0;
        for(j = i;j<length; j++)
        {
            sum=sum+list[j];
            if(sum>max)
            {
                max = sum;
            }
        }
    }
    return max;
}

下面是草稿思路

posted @ 2014-03-10 21:28  周其范 20112794  阅读(304)  评论(1编辑  收藏  举报