一:思路想法:1.先求连续正数的和。
2.把连续正数的和当作子数组在进行两子数组直接求和。
3:将2步骤的结果再次两两求和,以此类推下去。
4:将所有结果比较得出答案。
二:程序代码:#include <iostream>
int main()
{
int a[10];
int b[5];
int i,j,t;
printf("输入15个数:\n");
for(i=0;i<15;i++)
scanf("%d",&a[i]);
getchar();
b[0]=a[0]+a[1];
b[1]=a[2]+a[3];
b[2]=a[4]+a[5];
b[3]=a[6]+a[7];
b[4]=a[8]+a[9];
printf("\n");
for(j=0;j<4;j++)
{
if(b[j]>b[j+1]) {t=b[j];b[j]=b[j+1];b[j+1]=t;}
}
printf("最大子数组的和:\n");
//for(i=0;i<10;i++)
printf("%d",b[4]);
printf("\n");
getchar();
return 0;
}
三:运行结果
原文:https://www.cnblogs.com/sunyangkai/p/9752038.html