返回一个整数组中的最大子数组的和

Posted hzqsyr

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了返回一个整数组中的最大子数组的和相关的知识,希望对你有一定的参考价值。

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

int main()
{
    int i,d;
    int max=0;
    int b=0;
    int c [1200];
    srand(time(NULL));
    for(i=0;i<1200;i++)
    {
        d=rand()%2;
        if(d==0)
        {
            c[i]=rand();
        }
        else
        {
            c[i]=-rand();
        }

        printf("%d  ",c[i]);
    }
    for (i=0;i<1200;i++)
    {
        b+= c[i];
        if(b<0)
            b=0;
        if(b>max)
            max=b;
    }
    if(max==0)
    {
        max=c[0];
        for(i=0;i<1200;i++)
        {
            if(max<c[i])
            {
                max=c[i];
            }
        }
    }
    if(max>2147483647)
        printf("piease atart again ");
    printf(" ");
    printf("maximum array is=%d ",max);
    return 0;
}

设计思路:

从左面a0开始遍历整个数组,一直到最右面结束,在这个过程最大的子数组和maxsofar。maxsofar初始化为零然后再求a0

到ai之间的最大子数组的和。用到了maxending_i=max((manending_i-1)+a[i],0)

任务分工:

何自强主要负责查资料编写代码

佟天宇主要负责代码复审和代码测试计划

实验结果截图:

技术分享图片

并肩合作:

技术分享图片 

总结:

       此次任务是第一次以小组合作的方式进行的,通过本次实验进一步掌握了随机函数的使用方法,并且复习了C语言的一部分知识,关于数组的定义方法和应用。在本次实验中,开始有许多错误,通过我们两个人不断地进行调整,最终圆满完成任务,增进了同学之间的友谊。


















































以上是关于返回一个整数组中的最大子数组的和的主要内容,如果未能解决你的问题,请参考以下文章

返回一个整数组中的最大的子数组的和

返回一个二维整数组中最大子数组的和

求整数组环中最大子数组的和(升级版)

返回一个二维数整数组中最大子数组的和

周泊辰和陈岩的返回一个整数组中的最大子数组的和

返回一个整型数组中最大子数组的和(02)