最大连续子数组(C语言)

这是最基本的方法(暴力法)
先判断两个之中的最大值,再判断三个之中的最大值依次类推得到结果
代码如下:

#include <stdio.h>

int main(int argc, char *argv[])
{

    int A[13]={1,2,3,4,5,6,7,8,9,10,11,12,13},i,max,min;
    for(i=0;i<12;i++)
    {

     min=A[i]+A[i+1];
     if(max<=min)
     {
         max=min;
     }

    }
   //max=25
    for(i=0;i<11;i++)
    {
        min=A[i]+A[i+1]+A[i+2];
        if(max<=min)
        {
            max=min;
        }
    }
    //printf("%d",max);
    for(i=0;i<10;i++)
    {
        min=A[i]+A[i+1]+A[i+2]+A[i+3];
        if(max<=min)
        {
            max=min;
        }
    }
    //printf("%d",max);

    for(i=0;i<9;i++)
    {
        min=A[i]+A[i+1]+A[i+2]+A[i+3]+A[i+4];
        if(max<=min)
        {
            max=min;
        }
    }
   //printf("%d",max);
    for(i=0;i<8;i++)
    {
        min=A[i]+A[i+1]+A[i+2]+A[i+3]+A[i+4]+A[i+5];
        if(max<=min)
        {
            max=min;
        }
    }
   //printf("%d",max);
    for(i=0;i<7;i++)
    {
        min=A[i]+A[i+1]+A[i+2]+A[i+3]+A[i+4]+A[i+5]+A[i+6];
        if(max<=min)
        {
            max=min;
        }
    }
   //printf("%d",max);
    for(i=0;i<6;i++)
    {
        min=A[i]+A[i+1]+A[i+2]+A[i+3]+A[i+4]+A[i+5]+A[i+6]+A[i+7];
        if(max<=min)
        {
            max=min;
        }
    }
   //printf("%d",max);
    for(i=0;i<5;i++)
    {
        min=A[i]+A[i+1]+A[i+2]+A[i+3]+A[i+4]+A[i+5]+A[i+6]+A[i+7]+A[i+8];
        if(max<=min)
        {
            max=min;
        }
    }
   //printf("%d",max);
    for(i=0;i<4;i++)
    {
        min=A[i]+A[i+1]+A[i+2]+A[i+3]+A[i+4]+A[i+5]+A[i+6]+A[i+7]+A[i+8]+A[i+9];
        if(max<=min)
        {
            max=min;
        }
    }
   //printf("%d",max);
    for(i=0;i<3;i++)
    {
        min=A[i]+A[i+1]+A[i+2]+A[i+3]+A[i+4]+A[i+5]+A[i+6]+A[i+7]+A[i+8]+A[i+9]+A[i+10];
        if(max<=min)
        {
            max=min;
        }
    }
   //printf("%d",max);
    for(i=0;i<2;i++)
    {
        min=A[i]+A[i+1]+A[i+2]+A[i+3]+A[i+4]+A[i+5]+A[i+6]+A[i+7]+A[i+8]+A[i+9]+A[i+10]+A[i+11];
        if(max<=min)
        {
            max=min;
        }
    }
   //printf("%d",max);
    for(i=0;i<1;i++)
    {
        min=A[i]+A[i+1]+A[i+2]+A[i+3]+A[i+4]+A[i+5]+A[i+6]+A[i+7]+A[i+8]+A[i+9]+A[i+10]+A[i+12];
        if(max<=min)
        {
            max=min;
        }
    }
   printf("%d",max);

}
发布了29 篇原创文章 · 获赞 33 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_42568510/article/details/81777422