输出的结果为
#include<stdio.h>
void Enumerate (int a[],int n,int &first,int &last)
{
int sum = 0;
int i,j,k,m;
for(i = 0;i < n; i++){//必须满足i>=j
for(j = i;j < n;j++){
int thissum = 0;
for(k = i;k <= j; k++){//累加从i~j的数的和
thissum = thissum + a[k];
}
if(thissum > sum){
sum = thissum;
first = i;
last = j;
}
}
}
printf("数组A的最大连续子段和为%d\n",sum);
}
int main()
{
int A[6]={-2,11,-4,13,-5,-2};
int first,last;
int i;
for(i = 0;i < 6;i++)
{
printf("%d ",A[i]);
}
printf("\n");
Enumerate(A,6,first,last);
printf("数组A的最大连续子段为");
for (i=first;i<=last;i++){
printf("%5d",A[i]);
}
return 0;
}