《软件工程》课堂作业:返回一个整数中最大子数组的和

一:思路想法: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;
}

三:运行结果

猜你喜欢

转载自www.cnblogs.com/sunyangkai/p/9752038.html