求数组的,最大子数组

#include<stdio.h>
int main()
{
  int a[8]= {1,-3,4,5,9,-7,5,-4},b[8]={0};
  int i,j,max=0,sum=0,sum1,row1 ,row2,k;
  for(i =0;i<=7;i++)
    {
    for(j=i;j<7;j++)
     {
        sum=sum+a[j];
        if(max<sum)
        {
           max=sum;          
         row1=i,row2=j;
        }
       printf("sum=%d\t",sum);                
     } 
     sum = 0;  
    printf("\n");
    
    }
   printf("和最大max=%d \n子数组为",max);
   for(k=row1;k<=row2;k++)
   printf("a[%d]=%d\t",k,a[k]);
   
 return 0;   
}

猜你喜欢

转载自blog.csdn.net/weixin_37536336/article/details/103175092