返回一个整数数组中最大子数组的和
Posted gaoemm
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了返回一个整数数组中最大子数组的和相关的知识,希望对你有一定的参考价值。
设计思路:1.先随机选取4个数,把他们放到一个数组中;
2.两两相加,得到三个和,放到一个新数组中;
3.三个三个相加,得到两个和,放到一个新数组中;
4.四个数加在一起求和;
5.再创建一个求最大值的新函数,然后调用,求这些和的最大值,即是想要的答案。
#include<stdio.h>
int max(int x,int y,int z)
{
int max;
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,但是无法套用这个函数,这是我本次设计的缺陷所在。
以上是关于返回一个整数数组中最大子数组的和的主要内容,如果未能解决你的问题,请参考以下文章