返回一个整数数组中最大子数组的和

设计思路:1.先随机选取4个数,把他们放到一个数组中;

                 2.两两相加,得到三个和,放到一个新数组中;

                 3.三个三个相加,得到两个和,放到一个新数组中;

                 4.四个数加在一起求和;

                 5.再创建一个求最大值的新函数,然后调用,求这些和的最大值,即是想要的答案。

#include<stdio.h>

              int max(int x,int y,int z)

              {

             

                     int max;

扫描二维码关注公众号,回复: 3466915 查看本文章

                     if(x<y)

                            max=y;

                     else max=x;

                     if(max<z)

                            max=z;

                     return max;

              }

int main()

{

       int s[4],sum=0,sum4[4],sum3[3],sum2[2],sum1[1],i;

              for(i=0;i<4;i++)

              {

                     scanf("%d\n",&s[i]);

              }

              for(i=0;i<4;i++)

              {

                     sum=sum+s[i];

                     sum4[i]=sum;

                     sum=0;

              }

              for(i=0;i<3;i++)

              {

                     sum3[i]=sum+s[i]+s[i+1];

                     sum=0;

              }

              for(i=0;i<2;i++)

              {

                     sum2[i]=sum+s[i]+s[i+1]+s[i+2];

                     sum=0;

              }

        for(i=0;i<1;i++)

              {

                     sum1[i]=sum+s[i]+s[i+1]+s[i+2]+s[i+3];

                     sum=0;

              }

         int b,c,d,e;

        b=max(sum4[0],sum4[1],sum4[2],sum4[3]);

              c=max(sum3[0],sum3[1],sum3[2]);

              d=max(sum2[0],sum2[1]);

              e=max(sum1[0],b,c,d);

             

             

             

              return 0;

              }

在编程过程中创建了求 最大值的函数max,但是无法套用这个函数,这是我本次设计的缺陷所在。

猜你喜欢

转载自www.cnblogs.com/gaoemm/p/9751886.html