一、实验题目:
返回一个整数数组中最大子数组的和
二、实验思路:
1.介于题中已给出数组中数的个数,所以我和队友决定把数组个数定为倒数第三简单的
三,这样实验就简单了许许多多。
2.实验的总体思路在于反复的求max,当子数组的元素个数分别是1,2...n的时候,求出
各个子数组的和,并求出各个元素组中和最大的值,分别为max1,max2,...maxn,最后
再求出真个max组里最大的max即可。
三、实验代码:
1 //结队 信1201-2班 司新红 万彤 2 #include<iostream.h> 3 int main() 4 { 5 6 int s1=0; 7 int s2=0; 8 int s3=0; 9 int a[3];//定义数组长度 10 int i; 11 int s0=a[0];//定义的单个数中最大的数 12 int s[4]; 13 int max=s[0]; 14 cout<<"请输入数组中的元素:(元素为3个)"<<endl; 15 for(i=0;i<3;i++) 16 { 17 cin>>a[i]; 18 } 19 20 s[1]=a[0]+a[1]; 21 s[2]=a[1]+a[2]; 22 s[3]=a[0]+a[1]+a[2]; 23 24 for(i=0;i<3;i++) 25 { 26 if(s[0]<a[i]) 27 { 28 s[0]=a[i]; 29 } 30 } 31 for(i=0;i<4;i++) 32 { 33 if(max<s[i]) 34 { 35 max=s[i]; 36 } 37 } 38 cout<<"最大的数为:"<<max<<endl; 39 40 return 0; 41 }