求所有子数组的和的最大值
实验思路:
从第一个元素开始循环,在嵌套另一个循环,从每个元素开始,依次加上后边的元素。
当和大于最大值时,把和赋值给最大值,并记录此时首元素的下标和尾元素的下标。
int main()
{
int a[10];
int b[5];
int i,j,t;
printf("请输入10个数(相邻两个数字为一个新数组):\n");
for(i=0;i<10;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/IENHOLT/p/9751606.html